Tôi có ba mô đun: module-a, module-b, module-c. Module-a và module-b nằm trong lớp khởi động. Lớp cho module-c Tôi tự tạo ra. Module-c có thực thi JPMS của dịch vụ mà giao diện trong mô đun-a.Làm thế nào để loại bỏ lớp mô-đun trong Java 9?
Đây là cách tôi tạo lớp với mô đun-c trong mô đun-b.
ModuleFinder finder = ModuleFinder.of(moduleCPath);
ModuleLayer parent = ModuleLayer.boot();
Configuration cf = parent.configuration().resolve(finder, ModuleFinder.of(), Set.of("module-c"));
ClassLoader scl = ClassLoader.getSystemClassLoader();
ModuleLayer layer = parent.defineModulesWithOneLoader(cf, scl);
Sau đó, trong dịch vụ gọi điện-mô-đun từ mô-đun c. Sau khi thực hiện dịch vụ hoàn thành, tôi không cần module-c và lớp mới được tạo ra nữa. Làm thế nào để loại bỏ nó khỏi JVM và phát hành tất cả các nguồn lực? Có đủ để làm layer = null;
?
Việc tạo mới 'ModuleLayer' mà không có' module-c' không hoạt động? – nullpointer
Bạn có thể cập nhật câu hỏi với chính xác những gì bạn đã thử và những gì đã làm nó kết quả trong xin vui lòng. – nullpointer
@nullpointer Câu hỏi của tôi có tất cả thông tin, những gì tôi làm và câu hỏi là gì. Nếu bạn không hiểu điều gì đó, hãy nói những gì bạn không hiểu. –