Pertama, mari kita bahas perbedaan antara final, akhirnya, dan finalisasi.
final? modifier (kata kunci) Jika suatu kelas dinyatakan final, berarti kelas tersebut tidak dapat lagi menurunkan subkelas baru dan tidak dapat diwariskan sebagai kelas induk. Oleh karena itu suatu kelas tidak dapat dinyatakan abstrak dan final. Deklarasikan variabel atau metode sebagai final untuk memastikan bahwa variabel atau metode tersebut tidak akan diubah selama penggunaan. Variabel yang dinyatakan final harus diberi nilai awal pada saat dideklarasikan, dan hanya dapat dibaca pada referensi selanjutnya dan tidak dapat diubah. Metode yang dinyatakan sebagai final juga hanya dapat digunakan dan tidak dapat dibebani secara berlebihan.
akhirnya? Sediakan blok akhirnya untuk melakukan operasi pembersihan apa pun selama penanganan pengecualian. Jika pengecualian dilemparkan, klausa catch yang cocok dijalankan dan kontrol diteruskan ke blok akhirnya (jika ada).
menyelesaikan? nama metode. Teknologi Java memungkinkan penggunaan metode finalize() untuk melakukan pekerjaan pembersihan yang diperlukan sebelum pengumpul sampah membersihkan objek dari memori. Metode ini dipanggil oleh pengumpul sampah pada objek ini ketika menentukan bahwa objek tersebut tidak direferensikan. Itu didefinisikan di kelas Object, sehingga semua kelas mewarisinya. Subkelas mengambil alih metode finalize() untuk mengatur sumber daya sistem atau melakukan pekerjaan pembersihan lainnya. Metode finalize() dipanggil pada objek sebelum pengumpul sampah menghapusnya.
Kedua, perbedaan HashMap dan Hashtable.
Mereka semua adalah kelas yang termasuk dalam antarmuka Peta dan mengimplementasikan pemetaan kunci unik ke nilai tertentu.
Kelas HashMap tidak mengurutkan atau mengurutkan. Ini memungkinkan kunci nol dan beberapa nilai nol.
Hashtable mirip dengan HashMap, tetapi tidak mengizinkan kunci nol dan nilai nol. Ini juga lebih lambat dari HashMap karena sinkron.
Ketiga, String s = new String("xyz"); berapa banyak Objek String yang dibuat?
Ada dua objek, satu adalah "xyx" dan yang lainnya adalah objek referensi yang menunjuk ke "xyx".
Keempat, apa perbedaan antara sleep() dan wait() favorit Threading?
Metode sleep() adalah metode yang menghentikan thread untuk jangka waktu tertentu. Setelah interval tidur berakhir, thread tidak serta merta melanjutkan eksekusi. Hal ini karena pada saat itu, thread lain mungkin sedang berjalan dan tidak dijadwalkan untuk menghentikan eksekusi kecuali (a) thread "bangun" memiliki prioritas lebih tinggi
(b) Thread yang sedang berjalan diblokir karena alasan lain.
Ketika wait() digunakan untuk interaksi thread, jika thread mengeluarkan panggilan wait() ke objek sinkronisasi x, thread akan menunda eksekusi dan objek yang dipanggil akan memasuki status menunggu hingga dibangunkan atau waktu tunggu berakhir.
Kelima, apa yang salah dengan short s1 = 1; s1 = s1 + 1;?
short s1 = 1; s1 = s1 + 1; salah, s1 bertipe short, s1+1 bertipe int, dan tidak dapat dikonversi ke tipe short secara eksplisit. Itu dapat dimodifikasi menjadi s1 =(short)(s1 + 1). pendek s1 = 1; s1 += 1 benar.
Keenam, perbedaan Overload dan Override. Bisakah metode Overloaded mengubah jenis nilai yang dikembalikan?
Penggantian metode dan kelebihan beban adalah manifestasi berbeda dari polimorfisme Java. Overriding merupakan manifestasi polimorfisme antara kelas induk dan subkelas, dan kelebihan beban merupakan manifestasi polimorfisme dalam suatu kelas. Jika suatu metode yang didefinisikan dalam suatu subkelas memiliki nama dan parameter yang sama dengan kelas induknya, kita katakan metode tersebut overriding. Ketika sebuah objek dari subkelas menggunakan metode ini, ia akan memanggil definisi di subkelas tersebut. Untuk itu, definisi di kelas induk tampaknya "terlindung". Jika beberapa metode dengan nama yang sama didefinisikan dalam suatu kelas, dan mereka memiliki jumlah parameter yang berbeda atau tipe parameter yang berbeda, hal ini disebut metode kelebihan beban. Metode kelebihan beban dapat mengubah jenis nilai kembalian.
Ketujuh, elemen-elemen dalam Himpunan tidak dapat diulang, jadi metode apa yang digunakan untuk membedakannya berulang atau tidak? Apakah harus menggunakan == atau sama dengan()?
Elemen dalam Set tidak dapat diulang, jadi gunakan metode iterator() untuk membedakan apakah elemen tersebut diulang atau tidak. sama dengan() menentukan apakah dua Set sama.
Metode sama dengan() dan == menentukan apakah nilai referensi menunjuk ke objek yang sama. sama dengan() diganti di kelas untuk mengembalikan nilai true ketika konten dan tipe dari dua objek terpisah cocok.
Kedelapan, apa perbedaan antara error dan Exception?
kesalahan mewakili masalah serius dalam situasi di mana pemulihan bukannya tidak mungkin tetapi sulit. Misalnya, memori meluap. Tidak mungkin mengharapkan suatu program dapat menangani situasi seperti ini.
pengecualian mewakili masalah desain atau implementasi. Artinya, ini mewakili situasi yang tidak akan pernah terjadi jika program berjalan normal.
Kesembilan, beri saya pengecualian runtime yang paling sering Anda lihat.
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, BlankStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiedSetException, UnsupportedOperationException
Kesepuluh, elemen-elemen dalam Himpunan tidak dapat diulang, lalu metode apa yang digunakan untuk membedakannya berulang atau tidak? Apakah harus menggunakan == atau sama dengan()?
Elemen dalam Set tidak dapat diulang, jadi gunakan metode iterator() untuk membedakan apakah elemen tersebut diulang atau tidak. sama dengan() menentukan apakah dua Set sama.
Metode sama dengan() dan == menentukan apakah nilai referensi menunjuk ke objek yang sama. sama dengan() diganti di kelas untuk mengembalikan nilai true ketika konten dan tipe dari dua objek terpisah cocok.