Memuat Semula dan Memuatkan Fail JAR pada Masa Jalan
Untuk membolehkan sistem Java anda memuatkan dan memuat semula kelas semasa berjalan, pertimbangkan perkara berikut:
Memuat Semula Sedia Ada Kelas
Percubaan untuk memuat semula kelas sedia ada dengan datanya secara amnya tidak digalakkan kerana ia boleh mengakibatkan ketidakstabilan sistem.
Menambah Kelas Baharu
Memuatkan kelas baharu ke dalam pemuat kelas berasingan adalah berdaya maju pilihan:
ClassLoader loader = URLClassLoader.newInstance(new URL[] { yourURL }, getClass().getClassLoader()); Class<?> clazz = Class.forName("mypackage.MyClass", true, loader); Class<? extends Runnable> runClass = clazz.asSubclass(Runnable.class); Constructor<? extends Runnable> ctor = runClass.getConstructor(); Runnable doRun = ctor.newInstance();
Pengumpulan Sampah Pemuat Kelas
Pemuat kelas yang tidak lagi digunakan boleh dituntut semula oleh pemungut sampah, dengan andaian tiada kebocoran memori ( yang mungkin berlaku dengan ThreadLocal, pemacu JDBC, dsb.).
Kegigihan Data
Untuk mengekalkan data objek merentas muat semula kelas, pertimbangkan mekanisme kegigihan seperti siri.
Helah Nyahpepijat Fancy
Walaupun sistem penyahpepijatan menyediakan keupayaan lanjutan, mereka selalunya kurang dipercayai dan lebih sukar untuk nyahpepijat.
Menambah Kelas pada Pemuat Kelas Sedia Ada
Walaupun URLClassLoader membenarkan penambahan URL baharu, jika kelas gagal dimuatkan pada mulanya, ia tidak akan dimuatkan dalam contoh pemuat kelas itu.
Atas ialah kandungan terperinci Bagaimanakah saya Boleh Muat Semula atau Tambah Fail JAR pada Aplikasi Java yang Berjalan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!