10 2013 档案
javap命令查看class文件
摘要:在D盘根目录下放一个class文件TestBytecode.class运行javap -classpath D:/ -c TestBytecode命令即可输出。javap -classpath D:/ -verboseTestBytecode输出的更为详细 阅读全文
posted @ 2013-10-03 20:23 xuqiyu 阅读(405) 评论(0) 推荐(0) 编辑
Java垃圾收集--对象的finalize()方法
摘要:根搜索算法:这个算法的基本思路是通过一系列名为“GC roots”的对象作为起点,从这些节点开始向下搜索,搜索走过的路径称为引用连,当一个对象到GC roots没有任何引用链,则证明对象是不可用的。将被判定为可回收对象。不可达对象要被垃圾回收,至少要经历两次标记过程。第一次标记时执行finalize()方法,并做记号,第二次标记则不会再执行finalize()方法了。执行finalize()方法后,对象可能又变为可达对象,逃脱被垃圾回收的命运。示例代码--周志明著 Java虚拟机 1 public class FinalizeEscapeGC { 2 3 public static ... 阅读全文
posted @ 2013-10-02 21:13 xuqiyu 阅读(3350) 评论(0) 推荐(0) 编辑
Java虚拟机规范-Class文件格式阅读摘要
摘要:ClassFile结构:每一个Class文件对应于一个如下所示的ClassFile结构体 1 ClassFile { 2 u4 magic;//魔数,值固定为0xCAFEBABE 3 u2 minor_version;//副版本号 4 u2 major_version;//主版本号 5 u2 constant_pool_count;//常量池计数器,值等于constant_pool表中的成员数加1 6 cp_info constant_pool[constant_pool_count-1];//常量池,包含Class文件结构及其子结构中引用的所有字符串常... 阅读全文
posted @ 2013-10-01 19:43 xuqiyu 阅读(241) 评论(0) 推荐(0) 编辑
Java虚拟机结构阅读摘要
摘要:1.数据类型: Java虚拟机可操作的数据类型分为原始类型和引用类型 原始类型包括数值类型(Numeric)、布尔类型(Boolean)和returnAddress类型: 表示一条字节码指令的操作码(Opcode)。在所有的虚拟机支持的原始类型之中,只有returnAddress类型是不能直接Java语言的数据类型对应起来的。 引用类型包括类类型、数组类型和接口类型,这些引用类型的值分别由类实例、数组实例和实现了某个接口的类实例或数组实例动态创建2.运行时数据区 Java虚拟机定义了很多种程序运行期间使用到的运行时数据区,其中一部分的生命周期与虚拟机一致,另外一部分则是与线程的生命周... 阅读全文
posted @ 2013-10-01 19:30 xuqiyu 阅读(219) 评论(0) 推荐(0) 编辑