对象放在堆
--------------------------------------------
方法区: class, 常量 , static
-XX:Metaspacesize
-XX:MaxMetaspacesize
----------------------------------------------------
局部变量, 放在堆, 因为它只能被对象使用
直接内存, unsafe,
-Xss //栈
相互引用的垃圾case: 引用计数法无法回收 => 根可达 (可达性分析)
处理OOM:
查问题:
jps查java进程
jinfo查参数
-XX:printGC
jinfo只能修改manageable的参数
Top
按大写H, 查看问题进程的线程
jstack排查线程
nid是问题线程
排查出GC疯狂工作, 然后继续排查如何造成的GC工作
jmap -histo //查看对象占用存储情况
复制算法: 只复制非垃圾对象, 到另一块空间, 因为大部分对象都是瞬间废弃, 复制一次可能只复制2%. 复制之后, 原空间格式化
回收老年区用fullGC 不仅回收堆,
年轻态 GC
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。