文档章节

java的夸平台性

Bony
 Bony
发布于 2016/05/14 18:00
字数 581
阅读 72
收藏 2

使用Java语言编写应用程序最大的优点在于“一次编译,处处运行”,然而这并不是说所有的Java程序都具有Java跨平台的特性,事实上,相当一部分的Java程序是不能在别的操作系统上正确运行的,

Java跨平台的原理

Java字节码的两种执行方式

1、即时编译方式:解释器先将字节码编译成机器码,然后再执行该机器码。

2、解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码程序的所有操作。
 
 通常采用的是第二种方法。由于JVM规格描述具有足够的灵活性,这使得将字节码翻译为机器代码的工作具有较高的效率。对于那些对运行速度要求较高的应用程序,解释器可将Java字节码即时编译为机器码,从而很好地保证了Java代码的可移植性和高性能。

Java程序执行与C/C++程序执行的对比分析

如果把Java源程序想象成我们的C++源程序,Java源程序编译后生成的字节码就相当于C++源程序编译后的80x86的机器码(二进制程序文件),JVM虚拟机相当于80x86计算机系统,Java解释器相当于80x86CPU。在80x86CPU上运行的是机器码,在Java解释器上运行的是Java字节码。

Java解释器相当于运行Java字节码的“CPU”,但该“CPU”不是通过硬件实现的,而是用软件实现的。Java解释器实际上就是特定的平台下的一个应用程序。只要实现了特定平台下的解释器程序,Java字节码就能通过解释器程序在该平台下运行,这是Java跨平台的根本。当前,并不是在所有的平台下都有相应Java解释器程序,这也是Java并不能在所有的平台下都能运行的原因,它只能在已实现了Java解释器程序的平台下运行。

© 著作权归作者所有

共有 人打赏支持
上一篇: Java的前世今生
下一篇: java中的数据类型
Bony
粉丝 13
博文 154
码字总数 98659
作品 0
深圳
QA/测试工程师
私信 提问
My java——JVM(java 虚拟机)一

JVM是Java Virtual Machine(Java虚拟机)的缩写。一般我们在学习java中会用到很多缩写名称,如JRE、JDK、SDK、JAVA SE、JAVA EE、JAVA ME、JAVA FX、还有j2se、j2ee、javaee5,我勒个去!多...

tngou
2013/03/13
0
2
新瓶装老酒–PHP结合Java构建Web应用的新思路

本文最早发布在CSDN的博客上,是我为LAJP写的第一篇文章,说明了当时创建LAJP的思路,现在 迁移到这里。 PHP和Java各自有着鲜明的特点: PHP简单、易学,开发动态网页效率高,草根文化气息浓...

刁忆飞
2010/06/03
0
0
1.3.2 java程序的运行机制和jvm

java语言比较特殊,由java语言编写的程序需要经过编译步骤,但这个编译步骤并不会生成特定平台的机器码,而是生成一种与平台无关的字节码(也就是*.class文件)。当然,这种字节码不是可执行...

Gooiem
2015/08/17
0
0
Java常识:IDE、JRE、JDK等字段的阐述

目前对这些最基本的常识都难以阐述,颇觉羞愧,果断整理出来。 IDE(Integrated Development 集成开发环境),集成开发环境(简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、...

MiniBu
2014/05/06
0
0
JVM学习心得体会 (第一天)

Java虚拟机 Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还...

seng
2013/06/25
0
3

没有更多内容

加载失败,请刷新页面

加载更多

JVisualVM监控远程jar包运行情况

1.准备一个jar文件,需要放到服务器上有运行 tuyou-user-SNAPSHOT-0.0.1.jar 2.上传至服务器,启动jar文件: nohup java -Djava.rmi.server.hostname=192.168.104.135 -Dcom.sun.management...

日落北极
16分钟前
2
0
ReentrantReadWriteLock 源码

ReentrantReadWriteLock有五个内部类,五个内部类之间也是相互关联的。内部类的关系如下图所示。 如上图所示,Sync继承自AQS、NonfairSync继承自Sync类、FairSync继承自Sync类;ReadLock实现...

狼王黄师傅
17分钟前
3
0
详解netty原理分析

Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动...

小刀爱编程
24分钟前
2
0
Vue props用法小结

Vue props用法详解 组件接受的选项之一 props 是 Vue 中非常重要的一个选项。父子组件的关系可以总结为: props down, events up 父组件通过 props 向下传递数据给子组件;子组件通过 events...

peakedness丶
27分钟前
3
0
pycharm 教程(一)安装和首次使用

pycharm 教程(一)安装和首次使用 2017-12-05 09:19 by 菜鸟飞呀飞, 134207 阅读, 1 评论, 收藏, 编辑 PyCharm 是我用过的python编辑器中,比较顺手的一个。而且可以跨平台,在macos和windo...

linjin200
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部