深入理解JVM
文章平均质量分 86
范慢慢
记录工作中遇到的各种大坑小坑中等坑
展开
-
读深入理解JVM(1)--运行时数据区
深入理解JVM(1) 运行时数据区 根据《java虚拟机规范(第二版)》的规定,java虚拟机所管理的内存将会包括以下几个运行时数据区域 方法区 堆 本地方法栈 虚拟机栈 程序计数器 蓝色表示由所有线程共享的数据区,绿色表示为线程隔离的数据区。 程序计数器(线程私有) 作用:当前线程所执行的字节码的行号指示器。 由于java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,所以在任何一个确定的时刻,一个处理器只会执行一条线程中原创 2021-04-12 17:35:32 · 100 阅读 · 0 评论 -
读深入理解JVM(2)--垃圾回收
深入理解JVM(2) 对象存活判断算法 引用计数法 给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1; 当引用失效时,计数器就减1; 任何时刻计数器都为0的对象就是不可能再被使用的。 问题:很难解决对象之间的互相循环引用的问题。 可达性分析算法 通过一系列名为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链相连(从GC Roots到这个对象不可达),则证明此对原创 2021-04-12 17:39:10 · 112 阅读 · 0 评论