随笔分类 -  java虚拟机学习笔记

java虚拟机之垃圾收集器
摘要:serial收集器: 最基本的,是一个单线程收集器,只会使用一个CPU或者一条收集线程去完成垃圾收集, 更重要的是 在进行垃圾收集时,其他任务线程必须停止,serial收集器任然是client模式下的默认新生代收集器,它高效而简单。 parnew收集器: 和serial收集器一样,只是它增加了多线程 阅读全文

posted @ 2016-09-26 20:46 域外芳草 阅读(193) 评论(0) 推荐(0)

java虚拟机之垃圾回收算法
摘要:标记-清除算法: 这是最基础的,就是之前所讲的两次标记,首先标记出所有 需要回收的对象,然后进行统一清除, 这有两缺点:一是效率低,标记和清除(开启低优先级进行回收)都是低效率的。第二是空间问题,标记清除会产生大量的内存碎片。 复制算法: 可以将内存分为大小相等的两块,每次只使用一块,当一快内存使用 阅读全文

posted @ 2016-09-26 20:40 域外芳草 阅读(121) 评论(0) 推荐(0)

java虚拟机之回收方法区
摘要:在java虚拟机中并没有规范规定需要对方法区即是新生代进行垃圾回收, 主要是这些区域的回收性价比极低, 一般在新生代中一般垃圾回收中可以达到70%到95%。 其中永久代中的垃圾回收主要回收的是两个部分, 一个部分是废弃的常量,判断一个常量是否废弃, 主要看这个常量在其他地方是否引用了这个字面量。 否 阅读全文

posted @ 2016-09-26 20:37 域外芳草 阅读(442) 评论(0) 推荐(0)

java虚拟机之引用
摘要:强引用: 类似:object A=new Object();这样的引用,只要强引用还存在,垃圾回收期就永远不会回收被引用的对象,eg:这里的new Oject(). 软引用: 一些还有用,但是非必需的的对象,对于软引用关联的对象,在系统将要发生内存泄漏之前,将会把这些对象列入回收范围,并进行二次回收 阅读全文

posted @ 2016-09-26 20:33 域外芳草 阅读(157) 评论(0) 推荐(0)

java虚拟机判断对象是否存活的方式
摘要:引用计数算法: 给对象添加一个引用计数器,每当有地方应用时,计数器值就加一,当引用失效时,程序计数器就减一,只要引用计数器的值为零时,就表示对象不可能再被引用,例如微软的 component object model技术就使用了这种用法。然而java中并没使用这种方式,因为这种方式很难解决对象中的循 阅读全文

posted @ 2016-09-26 19:53 域外芳草 阅读(700) 评论(0) 推荐(0)

导航