JVM虚拟机
虚拟机的层层深入。
张茂祯
嗯,随缘了
展开
-
【JVM】GC垃圾回收[精简版]
垃圾回收JVM内存区域判断需要对哪些对象进行垃圾回收(主要关注于Java堆)引用类型:强、软、弱、虚可达性分析算法判断是否回收对象垃圾收集算法与分代收集理论分代收集理论垃圾收集算法详述标记-清除算法标记-赋值算法标记-整理算法 JVM内存区域 判断需要对哪些对象进行垃圾回收(主要关注于Java堆) 有两种方法: 引用计数法(Reference Counting)(主流java虚拟机不使用此方法) 给对象添加一个引用计数器,每次引用计数器值加1;当引用失效时,计数器值就减1;当计数器为0时,对象就是不可能原创 2020-11-26 10:56:48 · 108 阅读 · 0 评论 -
【JVM】垃圾收集器与内存分配策略
垃圾收集器与内存分配策略垃圾收集算法分带收集理论标记-清除算法标记-复制算法 垃圾收集算法 垃圾收集算法可分为“引用计数式垃圾收集”和“追踪式垃圾收集” 分带收集理论 分代收集名为理论,实质是一套复合大多数程序运行实际情况的经验法则,它建立在两个分代假说之上: (1)弱分代假说:绝大多数对象都是朝生夕灭的 (2)强分代假说:熬过越多次垃圾回收过程的对象就越难以消亡。 (3)跨带引用假说:跨代引用相对于同代引用来说仅极其少数 这两个分代假说共同奠定了多款常用的垃圾收集齐的一致的设计原则:收集器应该将Java堆原创 2020-11-19 13:48:38 · 87 阅读 · 0 评论 -
【JVM虚拟机】Java内存区域与内存溢出异常
运行时数据区 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数区域。 程序计数器(Program Counter Register) 是一块比较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。 在Java虚拟机模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器完成。 由于虚拟机的多线程是通过线程轮流切换、分配处理器执行时间的方式来实现的,原创 2020-11-07 14:20:21 · 139 阅读 · 0 评论