专注虚拟机与编译器研究

2020年8月11日

第7.3篇-类的连接之重写(1)

摘要: 调用InstanceKlass类的rewrite_class()函数重写字节码,实现如下: // Rewrite the byte codes of all of the methods of a class. // The rewriter must be called exactly once. 阅读全文

posted @ 2020-08-11 11:35 鸠摩(马智) 阅读(596) 评论(0) 推荐(0) 编辑

第7.2篇-类的连接之验证

摘要: 在介绍字节码连接之前,有必要介绍一下字节码验证。HotSpot虚拟机其实会遵守《Java虚拟机规范》,对Class文件中包含的信息进行合法性验证,以保证虚拟机的安全。从整体上来看,验证阶段大致上会进行如下4方面的验证: 文件格式验证:包括魔数,版本号等; 元数据验证:对程序进行语义分析,如是否有父类 阅读全文

posted @ 2020-08-11 09:12 鸠摩(马智) 阅读(515) 评论(0) 推荐(0) 编辑

第7.1篇-类的连接

摘要: 在类的连接之前要保证对类进行了解析,例如初始化一个类时会调用initialize_class()方法,实现如下: static void initialize_class(Symbol* class_name, TRAPS) { Klass* klass = SystemDictionary::re 阅读全文

posted @ 2020-08-11 08:39 鸠摩(马智) 阅读(825) 评论(0) 推荐(0) 编辑

导航