Memahami Peranan Pemuat Kelas
Apabila memuatkan kelas dalam Java, masa jalan bergantung pada pemuat kelas untuk menentukan versi kelas yang hendak digunakan. instantiate. Setiap urutan dalam aplikasi boleh mempunyai pemuat kelas konteks (TCCL) utasnya sendiri yang mengatasi pemuat kelas lalai.
TCCL lwn. Pemuat Kelas Biasa
Dalam situasi di mana TCCL dan pemuat kelas biasa (NCL) berbeza, TCCL diutamakan. Ini bermakna kelas yang dimuatkan menggunakan TCCL akan digunakan dan bukannya kelas yang dimuatkan menggunakan NCL.
Bila Menggunakan TCCL
Walau bagaimanapun, dokumen itu menasihatkan supaya tidak menggunakan TCCL. Sebaliknya, aplikasi harus menggunakan NCL untuk memuatkan kelas. Kewujudan TCCL terutamanya disebabkan oleh kecacatan reka bentuk dalam API ObjectInputStream, yang tidak mempunyai parameter untuk menentukan pemuat kelas.
Amalan Terbaik
Untuk mengelakkan isu pemuatan kelas , sentiasa gunakan NCL untuk memuatkan kelas (getClass().getClassLoader()). Jika API memerlukan parameter pemuat kelas, berikannya dengan NCL. Dalam kes di mana NCL tidak tersedia, pertimbangkan untuk mengubah API untuk menerima parameter pemuat kelas atau menetapkan TCCL kepada NCL sebelum menggunakan API.
Atas ialah kandungan terperinci Sekiranya Anda Menggunakan Thread Context Class Loader (TCCL) di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!