章节声明:本文章参考疯狂java讲义,仅作为个人笔记进行回忆使用,个人承诺绝不会用于任何商业价值的获取,仅作学术参考,如有侵权,联系删除。
Java语言的开发简史
1.2.1高级语言的运行机制
计算机高级语言按程序的执行方式可以分为编译型和解释性两种
编译型语言使用编译器将高级语言源代码一次性翻译成平台硬件可执行的机器码,编译生成的可执行程序可以脱离开发环境,在特定的平台上独立运行,但是生成的可执行程序通常无法被移植到其他平台上运行
解释型语言使用专门的解释器将源程序逐行解释成特定平台的机器码并立即执行的语言,由于是边编译边解释,因此解释型语言运行效率比较低,但是解释型语言跨平台比较容易。
1.2.2Java程序的运行机制和JVM
Java语言比较特殊,用Java语言编写的程序需要经过编译步骤,但这个编译步骤并不生成特定平台的机器码,而是生成一种与平台无关的字节码(*.class文件),这种字节码并不是可执行的,必须使用Java解释器来解释执行,Java程序的执行过程必须经过先编译,后解释两个步骤。
Java语言里负责执行字节码文件的是Java虚拟机,即JVM,所有平台上的JVM都想编译器提供了相同的程序接口,JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行,JVM起到了一个转换器的作用,所有平台上的JVM向上提供给Java字节码程序的接口都完全相投,但向下使用不同平台的接口则互不相同。
Oracle公司制定了JVM的统一标准:
- 指令集
- 寄存器
- 类文件的格式
- 栈
- 垃圾回收堆
- 存储区