一个简单Class文件的分析
2017-11-06 21:53
288 查看
一个简单Class文件的分析(多图)
Chown
1 年前
一个简单Class文件的分析(多图)
Class文件是Java中类或接口的紧凑二进制表示形式,可以被JVM加载,链接,执行。这里通过看一个简单的Class文件作为入门。
开始
package com.vonzhou.learn.jvm.klass; public class Foo { private int m; public int inc() { return m + 1; } }
Class结构体
一个Class文件可以用如下的结构体抽象:
Step by Step
接下来就是对照着字节码和JVM规范阅读的过程,对自己多点耐心。常量池中每常量项是由一个1B的tag(标识常量项的类型)和字节数组表示的常量内容构成的,常量标签有以下几种:
常量池
到这里我们估计有点迷失了,再来回顾下Class文件的结构:
访问标志
常量池过后是2B的访问标志,flag是各种情况做掩码实现,有:这里
类引用
接下来的2B是this_class指向我们的类名, super_class指示父类。这里没有实现接口:
成员变量
方法
后续
具体的指令在这里没有分析。
相关文章推荐
- 对一个桌面主题文件的简单分析
- 一个简单PDF文件的结构分析
- 一个简单PDF文件的结构分析
- 一个简单的PDF文件结构的分析
- 一个简单的makefile文件分析
- 一个简单PDF文件的结构分析
- 写一个简单的BootLoader(四)——链接文件boot.lds分析笔记
- Java中的类文件结构之一:如何分析一个.class文件的二进制码内容
- 一个简单的PDF文件结构的分析
- DUMP文件分析2:一个最简单的DUMP分析示例
- 通过一个简单的例子,说明class文件在运行过程中,import中class怎么被加载并执行的
- 020: class, objects and instance: 一个简单的例子,压缩文件中内容的替换
- [Mondrian] 分析一个简单的schema文件
- 一个最简单GAL游戏资源文件黑盒分析(一)
- 一个最简单GAL游戏资源文件黑盒分析(一)
- 解析了一个简单的class文件
- 对一个uClinux中的Makefile文件的简单分析(ZT)
- 一个简单的PDF文件结构的分析
- 简单class文件格式分析示例
- 一个最简单GAL游戏资源文件黑盒分析(二)