
JVM
文章平均质量分 83
阴阳两界
闲人千万,苟且求安
展开
-
GC回收机制及收集器
一、如何判断是否可回收1.引用计数法给对象增加一个引用计数器,每当有一个地方引用它时,计数器就+1;当引用失效时,计数器就-1;任何时刻计数器为0的对象就是不能再被使用的,即对象已"死"。引用计数法实现简单,判定效率也比较高,在大部分情况下都是一个不错的算法。比如Python语言就采用引用计数法进行内存管理。但是,在主流的JVM中没有选用引用计数法来管理内存,最主要的原因就是引用计数法无法解决对象的循环引用问题2.可达性分析通过一系列称为"GC Roots"的对象作为起始点,从这些节点开始向下搜原创 2020-06-18 12:54:31 · 195 阅读 · 0 评论 -
JDK1.8内存布局
一、内存布局图70)PS:左边的区域属于是在JVM划分的内存之中,而右边的则是直接在内存中。二、各部分详解对于每个线程来说,它都有程序计数器、Java虚拟机栈、本地方法栈,而这些都是线程私有的区域,不对外共享。程序计数器:程序计数器是一块比较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。(如果当前线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是一个Native方法,这个计数器值为空。)这个地方也就是为什么我们能一行一行调试的原因。原创 2020-06-18 11:31:11 · 697 阅读 · 1 评论