随笔分类 -  java虚拟机

摘要:关于垃圾回收,首先要解决的问题是 如何知道哪些对象需要回收目前有两种算法1 引用计数法每个对象上都有一个引用计数,对象每被引用一次,引用计数器就+1,对象引用被释放,引用计数器-1,直到对象的引用计数为0,对象就标识可以回收,但是这个算法有明显的缺陷,对于循环引用的情况下,循环引用的对象就不会被回收... 阅读全文
posted @ 2016-01-24 17:39 luluQQ 阅读(197) 评论(0) 推荐(0)
摘要:依赖用户线程的启动和结束而建立和销毁(线程私有): --程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。 --虚拟机栈描述的是Java方法执行的内存模型:每个方法被执行的时候都会同时创建一个栈帧(Sta... 阅读全文
posted @ 2016-01-23 20:18 luluQQ 阅读(167) 评论(0) 推荐(0)
摘要:一个java类的完整的生命周期会经历加载、连接、初始化、使用、和卸载五个阶段通常我们说类加载指的是类的生命周期中加载、连接、初始化三个阶段。如果一个类被直接引用,就会触发类的初始化。在java中,直接引用的情况有:•通过new关键字实例化对象、读取或设置类的静态变量、调用类的静态方法。•通过反射方式... 阅读全文
posted @ 2016-01-23 15:34 luluQQ 阅读(247) 评论(0) 推荐(0)
摘要:1)新生成的对象在Eden区完成内存分配 2)当Eden区满了,再创建对象,会因为申请不到空间,触发minorGC,进行young(eden+1survivor)区的垃圾回收。(为什么是eden+1survivor:两个survivor中始终有一个survivor是空的,空的那个被标记成To Sur... 阅读全文
posted @ 2016-01-23 15:29 luluQQ 阅读(425) 评论(0) 推荐(0)