字节码是什么
字节码就是一串二进制的字节流
字节码
Java 字节码(Java bytecode)是 Java 虚拟机器执行的指令的形式。每个字节码指令在长度上是一个字节(因此叫这个名字)
Java字节码时经过源文件(.java文件)经过编译后的产物(.class文件)。Java编译为字节码时,不会对变量和方法的引用编译为数值引用,也不确定执行过程中内存的布局,完成以上工作的是Java解释器
TIPS: 一个.java的文件可能会被编译为多个.class文件
虚拟机与字节码的关系
虚拟机不和包括JAVA在内的任何语言绑定,只和"class文件"这种特定的字节码文件相关
字节码语言无关性
- 虚拟机只与字节码相关,不关心class文件来源,可能是Java语言/Ruby语言编译得到)
- 字节码的存储结构固定