一个不算话题的话题,你如果去问大牛,或许根本不懈于回答,但是对于我这种菜鸟而言,还是有必要理解记住。
大多的理解应该是这样的 java的平台无关=一次编译,到处运行,其实这个等号应该是针对象C,C++这种语言而言的,当编译C或者C++,所获取的二进制文件只能适合指定的硬件平台和操作平台的(这个二进制文件包含了一些机器码,而且字节顺序还依赖特定平台,比如高位在前,低位在前等),而编译java形成的是java class文件,而class文件适合任何支持Java虚拟机的硬件平台和操作系统上的二进制的文件。
上述的解释是从java程序的执行过程而言的。
另外的一个角度可以从java程序的编写来说,java的编写依赖java api,java api的class文件是与主机平台密切相关的,由于在程序执行的时候java api调用了本地方法,java程序就不用调用他们了,通过这种方法,Java API class文件为底层提供了具有平台无关性,标准接口的Java程序。这样对于java程序而言,无论平台内部如何,Java API都会有同样的表现和预测行为。
正是由于在每个特定的平台都明确实现了Java虚拟机和Java API,才或有java的无关性。
分享到:
相关推荐
深入JAVA虚拟机,帮助大家在Java方面进行学习,深入JAVA虚拟机,帮助大家在Java方面进行学习,
这是对学习Java虚拟机的很好的入门书。虚拟机的书很少,除了规范之外,就很少见了。
该文档是本人的学习笔记,尚未精修,后续会精修排版. 学习笔记:深入浅出 Java 虚拟机.docx
深入理解Java虚拟机学习资料 pdf+mobi
这里我们使用举例来说明为什么要学习Java虚拟机,其实这个问题就和为什么要学习数据结构和算法是一个道理,工欲善其事,必先利其器。曾经的我经常害怕处理内存溢出的问题,因为不知道他为什么会出现这个问题,当我在...
公司技术团队培训:深入学习java虚拟机
深入理解Java虚拟机学习笔记借鉴.pdf
Java虚拟机的深入研究。对那些想深入学习java的人,有很大的帮助
理解Java虚拟机的很好的书 光盘的内容是不可缺少的学习资料
北京动力节点-Java编程零基础教程-007-Java语言概述-Java的特点-跨平台性.mp4 北京动力节点-Java编程零基础教程-008-Java语言概述-Java的特点-开源.mp4 北京动力节点-Java编程零基础教程-009-Java语言概述-Java的...
包含java jdk6.0源码、深入java虚拟机第二版,供学习jdk源代码使用
本书是继《深入理解Java虚拟机》之后的又一经典著作,它一方面遵循《Java虚拟机规范》,一方面又独辟蹊径,不仅能让Java虚拟机的学习变得更加简单和有趣,而且能让你对Java虚拟机的原理认识更深入和更深刻!...
第1章 Java体系结构介绍 第2章 平台无关 第3章 安全 第4章 网络移动性 第5章 Java虚拟机 第6章 Java class文件 ...附录D Java虚拟机的一个模拟:“Slices of Pi” 原码中的小程序是学习jvm非常好的工具
学习JAVA首先要理解的JAVA虚拟机 要更快的掌握JAVA,也是要了解JAVA虚拟机 对于Java虚拟机的软件人员,Java语言的编译器作者以及要用硬件芯片实现J ava虚拟机的人来说,则必须深刻理解Java虚拟机的规范。另外,如果你想...
深入JAVA虚拟机(随书源代码) 值得学习深入
理解Java虚拟机的很好的书 光盘的内容是不可缺少的学习资料
诸葛_BAT面试之深入理解Java虚拟机_9
本书是继《深入理解Java虚拟机》之后的又一经典著作,它一方面遵循《Java虚拟机规范》,一方面又独辟蹊径,不仅能让Java虚拟机的学习变得更加简单和有趣,而且能让你对Java虚拟机的原理认识更深入和更深刻!...
Java虚拟机规范(Java_SE_7)中文版,帮助很多爱好java虚拟机的同学深入学习java虚拟机