JVM
文章平均质量分 69
Claire7734
这个作者很懒,什么都没留下…
展开
-
Java内存区域与内存溢出异常小结
运行时数据区域程序计数器 当前字节码的行号指示器 线程私有 栈区 线程私有 Java虚拟机栈 为虚拟机执行Java方法(即字节码)服务 存储局部变量表、操作数栈、动态链接、方法出口等 局部变量表:编译期间完成分配 存储基本数据类型、对象引用 本地方法栈 为执行Native方法服务 HotSpot将本地方法栈和虚拟机栈合一 Java堆 线程共享 目的:存放对象实例 垃圾回收器管理的主要区域 通过-X原创 2017-10-07 18:36:02 · 314 阅读 · 0 评论 -
垃圾收集器与内存分配策略小结
对象已死吗引用计数法 给对象添加一个引用计数器,每当其他地方引用它,计数值加1;引用失效,计数值减1 无法解决对象之间相互循环引用的问题 可达性分析算法 通过一系列“GC Roots”的对象作为起始点,向下搜索,搜索路径称为“引用链”。如果一个对象到GC Roots没有任何引用链相连时(GC Roots到这个对象不可达),则对象不可用 GC Roots对象: 虚拟机栈中引用的对象 方法区中类静态属原创 2017-10-07 20:39:57 · 298 阅读 · 0 评论 -
OutOfMemoryError
配置VM arguments: -verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8 可以显示内存状态等信息 堆溢出 测试代码 public class testOom { static class OOMObject{}; public static void main(String原创 2017-10-27 21:43:57 · 338 阅读 · 0 评论