在前面的日志中,我简单分析了Java的体系结构对Java在开发网络环境下软件的绝佳支持,主要有三点:平台无关性,安全特性,和可移植性。那么,Java 是如何做到这一点的呢?
任何一个学习软件,接触到Java的人都应该知道Java的一大卖点(文雅的叫法是优势)便是它的平台无关性——它宣称同样的Java程序能在不同的OS上面运行,而这又是传统语言,如C,C++等做不到的。
Java对平台无关性的支持是分布在整个体系结构上面的:
1、Java平台
Java平台是体系结构对平台无关性最重要的支持
Java平台实际上是扮演了Java运行程序和操作系统之间的缓冲的角色,也就是说,不同的JVM会将程序(不管原来的程序员本意是为哪种OS所编写的)“翻译”成符合“当前规则”的计算机行命令。因此,无论Java程序放在哪里,它运行时都只需和Java平台进行交互就行了,而不需知道了解具体的操作系统或者是底层的硬件
2、Java语言
Java语言确定了基本数据类型在各种不同操作系统上的一致性
Java中的基本数据类型的值域和方法都是由语言本身确立的。而像C和C++,基本数据类型int的值域是由它的占位宽度确定的,而占位宽度在不同的平台上是不同的。
一般来说,C或C++中int的占位宽度是编译器根据目标平台的字长来决定的
Java语言确保了基本数据类型在所有平台上的一致性。
3、Java Class文件
Class文件定义了一个特定于Java虚拟机的二进制格式。它的格式,包括多字节值的高位优先存放约定,都有严格的定义,而与运行平台无关
4、可伸缩性
Java有多个不同的基础API集合,以适应不同的用户要求,表现了Java的平台伸缩性
API的集合最终被确定有3种:
基础版 J2SE
企业版 J2EE
微型版 J2ME
PS:如果你是一个Java程序员,或者想要成为一个Java程序员,当你听到“平台无关性”时不要高兴的太早——你应该明白,没有什么事情是万无一失的。随着Java在应用上面的普及,各种意想不到的问题都随之而来,事实上,“平台无关性”越来越成为制约Java发展的瓶颈而受到程序员的诟病,关于这点,以后再谈
最后,七个步骤保证程序的最佳可移植性:
1、选择程序要运行的主机和设备的集合(你的“目标宿主机”)
2、在目标主机中选择自认为足够好的Java平台版本,在该版本上编写、运行程序
3、对于每个目标宿主机,选择一些程序要运行的Java平台实现(你的“目标运行时环境”)
4、编写程序,使它只通过Java API的标准库来访问计算机(不要调用本地方法,或者开发商专有的那些调用本地方法的库)
5、编写程序,使它不依赖垃圾收集器及时终结的正确性,也不依赖线程的优先级
6、努力设计一个用户界面,使它在你所有的目标主机上都能运行
7、在所有的目标运行时环境和所有的目标宿主机上测试程序
虽然简单平常,但是并不是每个人都能在编写每个程序的时候都做到的哦
分享到:
相关推荐
深入Java虚拟机_ClassLoader深入Java虚拟机_ClassLoader
_深入理解Java虚拟机_JVM高级特性与最佳实践 第2版_220_
了解jvm的pdf,高清pdf,希望大家下载
《深入Java虚拟机(原书第2版)》,原书名《Inside the Java Virtual Machine,Second Edition》,作者:【美】Bill Venners,翻译:曹晓钢、蒋靖,出版社:机械工业出版社,ISBN:7111128052,出版日期:2003 年 9 ...
深入Java虚拟机_002_深入详解JVM之类加载器深度剖析、根、扩展及系统类加载器
详细讲解java虚拟机内部机制,以及优化原理
深入java虚拟机.pdf
实战Java虚拟机_JVM故障诊断与性能优化 JVM故障诊断与性能优化 JVM调优
深入理解java虚拟机,很好的书。适合进行jvm调优使用。
java虚拟机不用多少了吧。 深入java虚拟机第二版.pdf
深入Java虚拟机——本地方法栈.pdf
不废话Java 虚拟机入门黄金搭档。JVM规范+深入JAVA虚拟机(附带源码)。
java 虚拟机
深入java虚拟机深入java虚拟机深入java虚拟机深入java虚拟机
随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java...《实战Java虚拟机——JVM故障诊断与性能优化》将通过200余示例详细介绍Java虚拟机中的各种参数配置、故障排查、性能监控以及性能优化。
深入JAVA虚拟机,帮助大家在Java方面进行学习,深入JAVA虚拟机,帮助大家在Java方面进行学习,
Inside Java Virtual Machine by Bill Venners 中文PDF版
作为一位Java程序员,你是否也曾经想深入理解Java虚拟机,但是却被它的复杂和深奥拒之门外?没关系,本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘
深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf深入JAVA虚拟机第二版.pdf
深入java虚拟机源码