Ketidakjelasan Java's "Double Brace Initialization" menyembunyikan penciptaan kelas dalaman tanpa nama dengan permulaan instance untuk memudahkan tanpa usaha pembinaan objek. Di sebalik kesederhanaan yang memikat ini, timbul kebimbangan mengenai potensi kesan prestasinya dan penjanaan fail yang berlebihan.
Percubaan yang dijalankan mendedahkan jurang prestasi yang boleh dilihat antara permulaan pendakap berganda dan penyenaraian senarai langsung. Terutamanya, pemulaan pendakap berganda memerlukan masa pelaksanaan kira-kira 190 milisaat, berbeza dengan pemulaan pantas yang dicapai melalui instantiasi langsung.
Satu kelemahan yang dikaitkan dengan pemulaan pendakap berganda ialah percambahan daripada fail kelas yang dijananya. Ini boleh mengakibatkan fail jar program menjadi kembung dan pemuatan kelas yang sedikit perlahan. Selain itu, permulaan pendakap berganda mungkin memperkenalkan overhed memori disebabkan oleh banyaknya kelas yang dimuatkan ke dalam Mesin Maya Java.
Walaupun sintaks permulaan pendakap berganda adalah baik dari segi teknikal, ia mungkin dianggap tidak perlu untuk kabur untuk kod pengeluaran. Walau bagaimanapun, ia kekal sebagai alat yang berharga untuk menerokai semantik Java yang rumit atau menunjukkan kuasa ekspresifnya.
Pertimbangkan alternatif seperti Arrays.asList, kaedah varargs dan ringkas Google Collections senaraikan notasi pembinaan. Selain itu, Java 9 memperkenalkan satu set sintaks literal yang mudah, menghapuskan keperluan untuk pemula pendakap berganda sama sekali.
Atas ialah kandungan terperinci Adakah Permulaan Double Brace Java Cekap, dan Apakah Alternatifnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!