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跨平台的根本。
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跨平台的根本。
相关文章推荐
- Hadoop2.4.1 HDFS的Java客户端开发
- Java中的Integer和int等包装类和基本数据类型简单比较
- Java中怎样判断一个字符串是否是数字
- Javaweb中最简单的文件上传
- spring mvc controller
- SpringMVC 模拟 PUT 提交和 DELETE 方式的提交
- Java多线程系列--“JUC集合”02之 CopyOnWriteArrayList
- Spring MVC注解配置结合Hibernate的入门教程及其代码实例
- JavaWeb学习笔记——Web开发模式:Mode I和Mode II
- Java多线程系列--“JUC集合”01之 框架
- java 接口
- java练习题
- Java Web技术概述
- java 使用静态的情况
- 深入理解java虚拟机(4)---类加载机制
- 在myeclipse10.7.1中写代码有很多红x
- java 静态static
- Dubbo源码分析(八):Javassist字节码技术生成代理
- java数组
- java 主函数解释