您的位置:首页 > 编程语言 > Java开发

Java虚拟机及跨平台原理

2016-05-08 11:22 381 查看
Java虚拟机及跨平台原理

Java Virtual Machine(JVM) 是可运行java字节码的假想计算机,java的跨平台性是相对其他编程语言而言的,用C语言的编程和执行过程来同java的编程和执行过程进行对比:

同C语言一样,首先也要编写java源程序,然后由java编译器将java源程序编译为JVM可执行的代码,即java字节码,java源程序编译后生成的字节码文件就相当于C源程序编译后的windows上的exe可执行文件,JVM相当于计算机系统(操作系统+硬件环境),在windows上运行的是exe文件,在JVM运行的是java字节码文件(.class文件)。

Windows执行exe可执行文件的过程,就是从exe文件中取出一条条的计算机指令,交给CPU去解释执行。JVM执行java字节码的过程,也是JVM从字节码文件中取出一条条的字节码指令交给“CPU”去执行。执行java字节码的“CPU”可以是硬件,也可以是某个系统上运行的一个软件,这个软件称为java字节码解释程序(也就是JVM)。

总结:

解释器 = JVM 的“CPU”

① .exe文件直接在windows操作系统下运行,即CPU上运行的是机器码。

② .class字节码文件是在JVM虚拟机下运行,即解释器上运行的是Java字节码。

③ 什么什么器就是一个程序,即所谓的java编译器就是java编译程序(jdk的bin目录下的javac.exe),java解释器就是一个特定平台下的解释程序(jdk的bin目录下的java.exe)。

④ 只要实现了特定平台下的解释程序,java字节码就能通过解释器程序在该平台下运行,这是java跨平台的根本。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: