建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 网站开发 > Java教程 >

JAVA虚拟机(JVM)详细介绍(四)——类文件结构

时间:2019-08-28 10:49来源:PHP中文网 作者:猪哥 点击:
上一篇文章为大家讲解了自动内存管理,了解了内存分配以及垃圾回收机制,本文我们来说说执行子系统, 执行子系统讲解的是JVM如何执行程序。
讲完了自动内存管理,我们来说说执行子系统。执行子系统讲解的是JVM如何执行程序。

20190619144251184.png

Class文件概述

这篇我们只讲讲Class文件。Class文件又名类文件或字节码文件。javac将.java文件(源代码)编译成.class文件(字节码),jvm再将.class文件解释成机器码。

20190619144410727.png

Class文件中包含的是Java虚拟机指令集和符号表以及若干其它辅助信息。其是一组以8字节为基础单元的二进制流,没有空隙存在。

20190619145121941.jpg

其存储数据的结构有两种:无符号数和表。

(1)无符号数是用来描述数字,索引引用,数量值或按照UTF-8编码构成字符串值。属于基本的数据类型,以u1,u2,u4,u8分别代表1个字节,2个字节,4个字节,8个字节

(2)表是由多个无符号数或其它表作为数据项构成的复合数据类型,以“_info”结尾。

其特点是:在Class文件中,哪个字节代表什么含义,长度是多少,先后顺序如何,都不允许改变。

Class文件组成部分

20190619145257218.png对于Class的组成,在上图中已经罗列的很清楚了。还需再对常量池进行一下强调:当虚拟机运行时,需要从常量池获得对应的符号引用,再在类创建时或运行时解析、翻译到具体的内存地址之中。

以上便是为大家整理的关于JAVA虚拟机中class文件部分,更多相关问题请访问PHP中文网:JAVA视频教程

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片