你可能还不知道的知识点
1. GC只适合管理内存不适合管理外部资源;
2) finalize和weak/soft/phantom reference等是借助GC起作用的;
3)RMI (Remote Method Invocation)中有一项分布式垃圾回收技术DGC (Distributed Garbage Collection),解决远程引用对象的垃圾回收问题;
4)JDK 8已经取消永久代,class metadata也从永久代转移到jvm native内存(如果你们公司的JVM监控依然显示永久代,那应该指的class metadata占用的大小);
5)类的卸载也是由GC完成的
影响GC的因素
影响GC的因素主要有堆大小、垃圾回收器及代码使用内存的方式等,除此以外,还有其他因素影响GC,分析GC问题是也要考虑到,即所谓的other considerations。
影响GC的其他因素
1) finalization
2) weak/soft/phantom reference
3)显式FullGC调用System.gc()
4)-XX:+DisableExplicitGC 选项
5) server/client模式
6)
-XX:SoftRefLRUPolicyMSPerMB选项
7) 类的卸载、MetaspaceSize选项、MaxMetaspaceFreeRatio选项、MinMetaspaceFreeRatio选项、MaxMetaspaceFreeRatio选项
1) Finalization and Weak, Soft, and Phantom References
在java中,finalization和w