美文网首页java jvmAndroid技术知识Java学习笔记
《深入理解Java虚拟机》-类文件结构

《深入理解Java虚拟机》-类文件结构

作者: gatsby_dhn | 来源:发表于2016-10-06 10:38 被阅读104次

java源文件经编译器编译后生成class文件,你可曾想过class文件都包含哪些信息。class文件包含虚拟机执行时所需的所有信息,其他语言只要能被编译成class文件,那就能被虚拟机加载进内存执行,比如Groovy程序可以被groovyc编译器编译成class文件。这也是Java虚拟机语言无关性的基石。

class文件结构图

class.png

常量池

常量主要包括类和接口全局限定名、方法名称、字面常量等。后面的字段表,方法表,属性表都会引用这里常量。

字段表

描述接口或类中声明的变量。包含作用域、可变性、并发可见性等信息。

方法表

描述方法信息。包含方法作用域等信息。方法的代码信息保存在属性表中。

属性表

包含一些属性信息,字段表和方法表都会引用这里的属性信息。比如代码信息会被方法表引用。

总结

class文件有着非常严格的格式,这里仅仅粗略地看下具体包含哪些信息。

相关文章

网友评论

    本文标题:《深入理解Java虚拟机》-类文件结构

    本文链接:https://www.haomeiwen.com/subject/paseyttx.html