你管这破垃圾叫 class?

我马上就要被 JVM 虚拟机老大加载并运行了,此时老虚走了过来。

老虚:小渣呀,我马上就要把你载了,你先瘦身一下,别占太大地方。

小渣:好的,没问题,等我十秒钟。

public class FlashObject{private String name;private int age;public int add(int a,int b){return a+b;}

小渣:老虚,我瘦身好了,你看看。

老虚:…,你是不是有病。

小渣:怎么了,我把没用的空格和回车啥的都去掉了,瘦身了好多呢!

老虚:行吧,看你这智商,我就给你解释解释。你现在仍然是个文本文件,让你瘦身是让你定一个紧凑的数据结构来表示你这个 Java 文件里的信息,然后告诉我这个数据结构中每个字节都代表什么。

小渣:哦哦,这样啊。

老虚:对啊,这样一是方便我去加载,二是我这个虚拟机可不只是为你 Java 语言服务的,还有很多语言最终都可以转换为我虚拟机识别的,你得设计一个通用的格式。

小渣:嗯嗯,这回我明白啦!

1类信息

我的类名叫 FlashObject。

先找个地方把它存起来,放开头吧。

这里的一个小方格是 1 个字节,也就是 8 位。一个英文字母用 ASCII 码表示为 1 个字节,所以占一个方格,之后不再解释。

严谨的我又想到,这个类应该还有其父类。

虽然这个 .java 文件中没写,但也有其默认父类,Object。

当然,我们得记录下全类名

java/lang/Object

记在哪里呢?就紧跟在类名后面吧。

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章