我想知道JVM是否通常卸载类以减少PermGen空间.所以我的问题在这里:
仅供参考,我确实在网上尝试了一些解决方案,但没有人回答我的问题.(例如:JVM标志CMSClassUnloadingEnabled实际上做了什么?)
PS:我指的是Java 6 + hibernate(类加载由hibernate处理)
Hibernate 在启动时加载Entity内存中的所有类SessionFactory。另一方面,实体实例仅在需要时以Hibernate某种lazy方式加载。
GC当需要内存时,类可以被卸载JVM。实体实例也会被垃圾收集,但与任何其他对象一样,只有当不再有引用指向它们时才会被垃圾收集。换句话说,如果会话仍处于打开状态,Entity则无法卸载实例。Hibernate要卸载它们,您需要清除持久性上下文或关闭会话。
| 归档时间: |
|
| 查看次数: |
1393 次 |
| 最近记录: |