随笔分类 -  JVM

Java虚拟机有关知识
JVM类加载机制
摘要:概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 在Java里,类型的加载、连接和初始化都是在程序运行期间完成的。 类加载的整个生命周期有七个阶段:加载、验证、准备、解析、初始化、使用、卸 阅读全文

posted @ 2017-02-27 20:13 liuyang0 阅读(481) 评论(0) 推荐(1)

JVM内存分配与回收策略
摘要:对象优先在Eden分配 大多数情况下,对象在新生代Eden区中分配。 当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC。 Minor GC:新生代GC,指发生在新生代的垃圾收集动作,因为Java对象大多具备朝生夕灭的特性,所以Minor GC非常频繁,一般回收速度也比较快。 Ma 阅读全文

posted @ 2017-02-22 19:10 liuyang0 阅读(351) 评论(0) 推荐(0)

JVM垃圾收集器
摘要:& 8195;& 8195;本文讲述的是HotSpot虚拟机中的垃圾收集器。下图展示了7种不同分代的收集器,如果两个收集器之间存在连线,就说明它们可以搭配使用。 Serial收集器 单线程,只会使用一个CPU或者一条收集线程去完成垃圾收集工作。 进行垃圾收集时,必须暂停其他的所有线程,直到它收集结束 阅读全文

posted @ 2017-02-20 20:23 liuyang0 阅读(193) 评论(0) 推荐(0)

JVM垃圾收集(GC)算法
摘要:判断对象是否已死 1. 引用计数算法 给对象中添加一个引用计数器,每当一个地方引用它时,计数器值就加1;当引用失败时,计数器值就减1;任何时刻计数器为0的对象就是不能再被使用的。 主流的Java虚拟机里面没有选用引用计数算法来管理内存,其中主要原因是它很难解决对象之间相互循环引用的问题。 2. 可达 阅读全文

posted @ 2017-02-18 20:31 liuyang0 阅读(317) 评论(0) 推荐(0)

Java虚拟机中Java内存区域
摘要:& 8195;& 8195;Java虚拟机所管理的内存将会包括以下几个运行时数据区域。 程序计数器 可以看作是当前线程所执行的字节码的行号指示器。 每一个线程都需要有一个独立的程序计数器。 如果线程正在执行的是一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是Na 阅读全文

posted @ 2017-02-16 16:34 liuyang0 阅读(278) 评论(0) 推荐(0)

导航