摘要:
最前面的数字“33.125”和“100.667”代表了GC发生的时间。GC日志开头的[GC和[Full GC说明了这次垃圾收集的停顿类型,而不是用来区分新生代GC还是老年代GC的。[DefNew、[Tenured、[Permz表示GC发生的区域后面方括号内部的3324K->152K(3712K)含义... 阅读全文
posted @ 2015-03-29 23:30
青书
阅读(236)
评论(0)
推荐(0)
摘要:
3.1判断对象是否已死引用-计数算法给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器为0的对象就是不可能再被使用的。3.2判断对象是否已死引用-可达性分析算法在主流的程序语言中,都是通过可达性分析来判断对象是否存活的。这个算法的基本思路就... 阅读全文
posted @ 2015-03-29 23:29
青书
阅读(232)
评论(0)
推荐(0)
摘要:
Java虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程。在类加载检查通过后,接下来虚拟机将为新生对象分配内存。内存是规整的使用“指针碰撞”,内存是散乱的使用... 阅读全文
posted @ 2015-03-29 21:12
青书
阅读(159)
评论(0)
推荐(0)
摘要:
1. Java运行时数据区域Java虚拟机在执行java程序的过程中会把它管理的内存划分为若干个不同的数据区域。1.1程序计数器程序计数器是一块较小的内存空间,它可看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式实现),字节码解释器工... 阅读全文
posted @ 2015-03-29 14:48
青书
阅读(164)
评论(0)
推荐(0)
摘要:
按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的... 阅读全文
posted @ 2015-03-29 11:21
青书
阅读(326)
评论(0)
推荐(0)
浙公网安备 33010602011771号