ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java虚拟机规范读书笔记(持续更新)

2021-09-09 09:06:59  阅读:184  来源: 互联网

标签:Java 读书笔记 虚拟机 值为 类型 默认值 class


第一章 引言(略)

第二章 Java虚拟机结构

2.1 class文件格式

中立:平台无关性,实现依赖于二进制格式的数据形式把文件持久化在class文件内,且精确的定义了类与接口的表现形式,尤其是与平台相关的模板文件格式上的一些细节惯例,比如SPARC平台上数字以Big-Endian 高位的字节存储在内存中的低地址值处形式存储,在X86平台上数字则是以Little-Endian 高位的字节存储在内存中的高地址值处形式存储的,如果不强制统一字节序的话,同一个class文件的二进制形式放在不同平台上就可能以不同方式解读。

2.2 数据类型

原始类型、引用类型 原始值 、引用值

2.3 原始类型与值

数值类型

整数类型 (integral type)

byte类型:值为8位有符号二进制补码整数,默认值为0
short类型:值为16位有符号二进制补码整数默认值为0
int类型:值为32位有符号二进制补码整数默认值为0
long类型:值为64位有符号二进制补码整数默认值为0
char类型:值为使用16位无符号整数表示的、指向基本多文种平面 (basic multilingual plane BMP)的Unicode码点,以UTF-16编码,默认值为Unicode的null码点,’\u0000’

浮点类型(floating-point type)

float类型:值为单精度浮点数集合中的元素,或者是单精度扩展指数集合中的元素,默认值为正数0。
double类型:值为双精度浮点数集合中的元素,或者双精度扩展指数集合中的元素,默认值为正数0。

boolean类型

boolean类型值为布尔值true或者false,默认值为false。

returnAddress类型

returnAddress类型是指向某个操作码opcode的指针,此操作码与Java虚拟机指令相对应。在虚拟机支持的所有原始类型中,只有returnAddress类型是不能直接与Java语言中的数据结构相对应的

2.4 引用类型与值

2.5 运行时数据区
2.6 栈帧
2.7 对象的表示
2.8 浮点算法
2.9 特殊方法
3.0 异常
3.1 字节码指令集简介
3.2 类库
3.3 共有设计、私有实现

第三章 虚拟机编译器

实例的格式说明
常量、局部变量和控制结构的使用
算术运算
访问运行时常量池
与控制结构有关的更多实例
接收参数
方法调用
使用类举例
数组
编译Switch语句
使用操作数栈
抛出异常和处理异常
编译finally语句块
同步
注解

第四章 class文件格式

classFile文件结构
各种名称的内部表示形式
描述符
常量池
字段
方法
属性
个时间差
Java虚拟机代码约束
class文件校验

第五章 加载、链接与初始化

运行时常量池
虚拟机启动
创建和加载
链接
初始化
绑定本地方法实现
Java虚拟机退出

第六章 Java虚拟机指令集

设定"必须"的含义
保留操作码
虚拟机错误
指令描述格式
指令集描述

标签:Java,读书笔记,虚拟机,值为,类型,默认值,class
来源: https://blog.csdn.net/weixin_41874756/article/details/120192864

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有