【发布时间】:2013-09-17 13:18:05
【问题描述】:
我想要 必须编写一些动态加载类的工具。所以我必须为此调用 Class.forName 函数。可以有很多类 - 大约 10000 个。是否可以在它们全部加载且不需要之后释放内存?
【问题讨论】:
-
您可以使用不同的类加载器来加载这些类。当您的进程完成时(并且这些类没有任何内存泄漏),GC 将回收这些类,包括类加载器。这是大多数应用程序服务器或 Web 容器所做的。他们加载一个应用程序,当它被取消部署时,它会恢复所有内存。
-
我会避免创建和加载 10,000 个类。也许你缺少一个抽象,或者可以共享的库,所以它们只加载一次。
-
Unloading classes in java? 的可能重复项
-
我们真的在谈论 10,000 个不同的课程吗?还是 10,000 个不同的对象或实例?这里有很大的不同。
标签: java class memory garbage-collection classloader