Pemuat Kelas Konteks Benang lwn. Pemuat Kelas Biasa
Java menyediakan dua mekanisme berbeza untuk pemuatan kelas: pemuat kelas konteks benang dan pemuat biasa pemuat kelas.
Kelas Konteks Benang Pemuat
Pemuat kelas konteks ialah pemuat kelas yang dikaitkan dengan setiap urutan. Ia digunakan apabila benang perlu memuatkan kelas secara dinamik, seperti semasa menggunakan refleksi atau penyahserialisasian. Secara lalai, pemuat kelas konteks ditetapkan kepada pemuat kelas induk pemuat kelas yang memuatkan kelas utama utas.
Pemuat Kelas Biasa
Pemuat kelas biasa ialah pemuat kelas yang digunakan untuk memuatkan kelas untuk kelas semasa. Ia diambil menggunakan kaedah getClass().getClassLoader(). Biasanya, pemuat kelas biasa adalah sama dengan pemuat kelas konteks, bermakna pemuat kelas induk pemuat kelas yang memuatkan kelas utama.
Pemuat Kelas Mana Yang Digunakan?
Apabila benang memuatkan kelas secara dinamik, ia biasanya menggunakan pemuat kelas konteks. Walau bagaimanapun, jika pemuat kelas konteks benang berbeza daripada pemuat kelas biasa, yang mana satu digunakan bergantung pada konteks.
Hanya dalam keadaan tertentu sahaja pemuat kelas biasa boleh digunakan dan bukannya pemuat kelas konteks. Sebagai contoh, jika pemuat kelas konteks adalah nol, pemuat kelas biasa digunakan.
Pengesyoran
Secara amnya, adalah disyorkan untuk menggunakan pemuat kelas biasa (iaitu. , getClass().getClassLoader()) apabila memuatkan kelas secara eksplisit, walaupun jika pemuat kelas konteks berbeza. Pemuatan kelas eksplisit hendaklah sentiasa menggunakan pemuat kelas bagi kelas yang melakukan pemuatan.
Atas ialah kandungan terperinci Pemuat Kelas Konteks Benang lwn. Pemuat Kelas Biasa: Bilakah Saya Perlu Menggunakan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!