欢迎光临
我们一直在努力

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

讲完了自动内存管理,我们来说说执行子系统。执行子系统讲解的是JVM如何执行程序。

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

Class文件概述

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

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

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

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

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

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

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

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

Class文件组成部分

JAVA虚拟机(JVM)详细介绍(四)——类文件结构插图3对于Class的组成,在上图中已经罗列的很清楚了。还需再对常量池进行一下强调:当虚拟机运行时,需要从常量池获得对应的符号引用,再在类创建时或运行时解析、翻译到具体的内存地址之中。

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

分享本文到
赞(0)
未经允许不得转载:爱分享 » JAVA虚拟机(JVM)详细介绍(四)——类文件结构

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

爱分享,生活常用知识教程百科分享、学习、交流平台

爱分享精选好货商城