转载请注明原创出处,谢谢!
说在前面
之前在JVM菜鸟进阶高手之路十(基础知识开场白)的时候简单提到了二进制相关问题,最近在看RocketMQ的源码的时候,发现涉及二进制的内容蛮多,jdk源码里面也是有很多涉及到二进制相关的操作,今天这篇文章仅仅是扫盲篇,后续会介绍灵活运用篇。
说明
任何东西都有规范,提到JAVA就会提到2个规范,JAVA语言规范、JVM规范。JAVA语言规范主要定义JAVA的语法、变量、类型、文法等等,JVM规范主要定义Class文件类型、运行时数据、帧栈、虚拟机的启动、虚拟机的指令集等等。
JAVA语言规范主要定义什么是JAVA语言。
JVM规范主要定义JVM内部实现,二进制class文件和JVM指令集等。
规范中数字的内部表示和存储
JAVA八种基本数据类型:整形:byte,short,int,long浮点型:float,double布尔型:boolean字符型:char
数据类型
所占位数
int
32bit
short
16bit
long
64bit
byte
8bit
char
16bit
float
32bit
double
64bit
boolean
1bit
备注:1字节=8位(1 byte = 8bit)