JVM
ample笔记
所有文章仅作学习交流,愿受指正。
展开
-
JVM垃圾回收算法二(垃圾收集算法)
1.标记-清除算法,最基础的收集算法,首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。缺点一是效率低,二是产生大量不连续的内存碎片。2.复制算法,将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。缺点是内存缩小为原来的一半,代价较高(后续商业虚拟机对分配比例有所优化,...原创 2019-12-03 11:01:36 · 83 阅读 · 0 评论 -
JVM垃圾回收算法一(对象是否已死)
1.引用计数算法,给对象添加一个引用计数器,每当有一个地方引用它时,计数器值加1,当引用失效时,计数器值减1;任何时刻计数器都为0的对象就是不可能再被使用的。缺点:难以解决对象之间的相互循环引用的问题。2.根搜索算法,通过一系列的名为“GC Roots”的对象作为起始点,从这些节点开始往下搜索,搜索所走过的路径成为引用链(Reference Chain),当一个对象到GC Roots没有任何引...原创 2019-12-03 11:01:22 · 51 阅读 · 0 评论 -
名词概念
寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就需要知道数据存放在哪里 ,这时候就需要挨家挨户的找,这就叫做寻址,但如果地址太多超出了CPU的能力范围,CPU就无法找到数据了。 CPU最大能查找多大范围的地址叫做寻址能力 ,CPU的寻址能力以字节为单位 ,如32位寻址的CPU可以...原创 2019-12-03 10:58:33 · 126 阅读 · 0 评论 -
Java虚拟机内存区域要点
一.程序计数器它的作用可以看做是当前线程所执行的字节码的行号指示器。线程私有。二.Java虚拟机栈用于存储局部变量表、操作栈、动态链接、方法出口等信息。线程私有。三.本地方法栈与虚拟机栈所发挥的作用相似,区别不过是虚拟机栈为虚拟机执行Java方法(也就是字节码)服务,而本地方法栈则是为虚拟机使用到的Native方法服务。有些虚拟机(譬如Sun HotSpot虚拟机)直接就把本地方法栈...原创 2019-12-03 11:00:14 · 72 阅读 · 0 评论