《深入理解Java虚拟机:JVM高级特性与最佳实践》第6章 类文件结构

本文详细介绍了Java虚拟机规范中Class文件的结构,包括魔数、版本号、常量池、访问标志、类索引、字段表、方法表和属性表集合。通过对6.3节的深入探讨,读者可以了解到Java字节码的基础知识,包括字节码指令的分类和作用。示例代码展示了`synchronized`关键字的使用。
摘要由CSDN通过智能技术生成

一些链接

The Java® Virtual Machine Specification Java SE 12 Edition

前言

在这里插入图片描述

6.1 概述

在这里插入图片描述

6.2 无关性的基石

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.3 Class类文件的结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.3.1 魔数与Class文件的版本

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
jdk 1.8 的版本号为52,52 /16 = 3 余 4 所以,索引 7的位置为34 。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.3.2 常量池

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.3.3 访问标志

在这里插入图片描述
在这里插入图片描述

6.3.4 类索引、父类索引与接口索引集合

在这里插入图片描述
在这里插入图片描述

6.3.5 字段表集合

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.3.6 方法表集合

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.3.7 属性表集合

在这里插入图片描述

6.4 字节码指令简介

在这里插入图片描述
在这里插入图片描述

6.4.1 字节码与数据类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.4.2 加载和存储指令

在这里插入图片描述

6.4.3 运算指令

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.4.4 类型转换指令

在这里插入图片描述

6.4.5 对象创建与访问指令

在这里插入图片描述

6.4.6 操作数栈管理指令

在这里插入图片描述

6.4.7 控制转移指令

在这里插入图片描述

6.4.8 方法调用和返回指令

在这里插入图片描述

6.4.9 异常处理指令

在这里插入图片描述

6.4.10 同步指令

在这里插入图片描述

public class UseSync {
    public static void main(String[] args) {
        synchronized (UseSync.class) {
        }
    }
}

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.5 公有设计,私有实现

在这里插入图片描述

6.6 Class文件结构的发展

在这里插入图片描述

6.7 本章小结

在这里插入图片描述

番外篇 Notepad++

16进制编辑器 需要 安装插件

在这里插入图片描述
切换按钮

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值