码迷,mamicode.com
首页 > 编程语言 > 详细

Java虚拟机及跨平台原理

时间:2016-05-13 02:46:39      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

技术分享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跨平台的根本。

Java虚拟机及跨平台原理

标签:

原文地址:http://blog.csdn.net/zjdwhd/article/details/51344744

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!