java虚拟机1.7
2017-08-08 19:44:23 19 举报
AI智能生成
jvm虚拟机规范 jdk1.7
作者其他创作
大纲/内容
java虚拟机规范1.7
引言
简史
java虚拟机
各章节提要
说要
java虚拟机结构
2.1 class文件格式
2.2 数据类型
2.3 原始类型与值
2.3.1 整型类型与整型值
2.3.2 浮点类型、取值集合及浮点值
2.3.3 returnAddress类型和值
2.3.4 boolean类型
2.4 引用类型与值
类类型
数组类型
接口类型
2.5 运行时数据区
2.5.1 PC寄存器
2.5.2 java虚拟机栈(又称java栈)
2.5.3 java堆
2.5.4 方法区
2.5.5 运行时常量池
2.5.6 本地方法栈
2.6 栈帧
2.6.1 局部变量表
2.6.2 操作数栈
2.6.3 动态链接
2.6.4 方法正常调用完成
2.6.5 方法异常调用完成
2.7 对象的表示
2.8 浮点算法
2.8.1 java虚拟机和IEEE 754中的浮点算法
2.8.2 浮点模式
2.8.3 数值集合转换
2.9 初始化方法的特殊命名
2.10 异常
2.11 字节码指令集简介
2.11.1 数据类型与java虚拟机
2.11.2 加载和存储指令
2.11.3 运算指令
2.11.4 类型转换指令
2.11.5 对象创建与操作
2.11.6 操作数栈管理指令
2.11.7 控制转移指令
2.11.8 方法调用和返回指令
2.11.9 抛出异常
2.11.10 同步
2.12 类库
2.13 公有设计,私有实现
java虚拟机编译
3.1 示例的格式说明
3.2 常量、局部变量的使用和控制结构
3.3 算术运算
3.4 访问运行时常量池
3.5 更多的控制结构示例
3.6 接受参数
3.7 方法调用
3.8 使用类实例
3.9 数组
3.10 编译switch语句
3.11 使用操作数栈
3.12 抛出异常和处理异常
3.13 编译finally语句块
3.14 同步
3.15 注解
Class文件格式
4.1 ClassFile结构
4.2 各种内部表示名称
4.2.1 类和接口的二进制名称
4.2.2 非全限定名
4.3 描述符和签名
4.3.1 语法符号
4.3.2 字段描述符
4.3.3 方法描述符
4.3.4 签名
4.4 常量池
4.4.1 CONSTANT_Class_info结构
4.4.3 CONSTANT_String_info结构
4.4.4 CONSTANT_Integer_info和CONSTANT_Float_info结构
4.4.5 CONSTANT_Long_info和CONSTANT_Double_info结构
4.4.6 CONSTANT_NameAndType_info结构
4.4.7 CONSTANT_Utf8_info结构
4.4.8 CONSTANT_MethodHandle_info结构
4.4.9 CONSTANT_MethodType_info结构
4.4.10 CONSTANT_InvokeDynamic_info结构
4.5 字段
4.6 方法
4.7 属性
4.7.1 自定义和命名新的属性
4.7.2 ConstantValue属性
4.7.3 Code属性
4.7.4 StackMapTable属性
4.7.5 Exceptions属性
4.7.6 InnerClasses属性
4.7.7 EnclosingMethod属性
4.7.8 Synthetic属性
4.7.9 Signature属性
4.7.10 SourceFile属性
4.7.11 SourceDebugExtension属性
4.7.12 LineNumberTable属性
4.7.13 LocalVariableTable属性
4.7.14 LocalVariableTypetTable
4.7.15 Deprecated属性
4.7.16 RuntimeVisibleAnnotations属性
4.7.16.1 element_value结构
4.7.17 RuntimeInvisibleAnnotations属性
4.7.18 RuntimeVisibleParameterAnnotations属性
4.7.19 RuntimeInvisibleParameterAnnotations属性
4.7.20 AnnotationDefault属性
4.7.21 BootstrapMethod属性
4.8 格式检查
4.9 java虚拟机代码约束
4.9.1 静态约束
4.9.2 结构化约束
4.10 Class文件校验
4.10.1 类型检查验证
4.10.2 类型推导验证
4.10.2.1 类型推断的验证过程
4.10.2.2 字节码验证器
4.10.2.3 long与double类型的值
4.10.2.4 实例初始化方法与创建对象
4.10.2.5 异常和finally
4.11 Java虚拟机限制
加载、链接与初始化
5.1 运行时常量池
5.2 虚拟机启动
5.3 创建和加载
5.3.1 使用引导类加载器来加载类型
5.3.2 使用用户定义类加载器来加载类型
5.3.3 创建数组类
5.3.4 加载限制
5.3.5 从Class文件中获取类
5.4 链接
5.4.1 验证
5.4.2 准备
5.4.3 解析
5.4.3.1 类与接口解析
5.4.3.2 字段解析
5.4.3.3 普通方法解析
5.4.3.4 接口方法解析
5.4.3.5 方法类型与句柄解析
5.4.3.6 调用点限定符解析
5.4.4 访问控制
5.4.5 方法覆盖
5.5 初始化
5.6 绑定本地方法实现
5.7 java虚拟机退出
java虚拟机指令集
6.1 设定:“必须”的含义
6.2 保留操作码
6.3 虚拟机错误
6.4 指令描述格式
6.5 指令集描述
操作码助记符
虚拟机线程与共享内存
0 条评论
下一页