`

Java平台无关性的实现

阅读更多
   学习Java已经接近三年了,自从大二开始我就开始了Java的学习,但一直以来学的都是比较基础的东西,从开始接触Java开始我就听到了许多关于Java在应用方面的优点,诸如平台无关性等等,但是对于什么是平台无关性,Java又是如何实现的平台无关性,则是一直半解,知道前几天在网上看到了《深入Java虚拟机》这本书,才对Java实现平台无关性的机制有了了解,我觉得它是一本非常好的一本书,对于更深的了解Java有很好的帮助,下面是我对它关于Java平台无关性的一些摘要,供大家和自己在以后的学习中参考。
    Java API通过支持平台无关性和安全性,使得Java适应于网络应用。Java API是运行库的集合,它提供一套访问主机系统资源的标准方法。 Java API的class文件天生就与主机平台密切相关。在一个平台能够支持Java程序以前,必须在这个特定平台上明确地实现API的功能。为访问主机上的本地资源,Java API 调用了本地方法,由于Java API class文件调用了本地方法,Java程序就不需要再调用它们了。通过这种方法,Java API class文件为底层主机提供了具有平台无关性的、标准接口的Java程序。对Java程序而言,无论平台内部如何, Java API都会有同样的表现和可预测的行为。正是由于在每个特定的主机平台上都明确地实现了Java虚拟机和Java API, 因此,Java程序自身就能够成为有平台无关性的程序。
   Java API的内部设计也和平台无关性相关。Java编程语言主要通过以下方式支持Java的平台无关性:
   它的基本数据类型的值域和行为都是由语言自己定义的。这点对于学过Java的人来说很容易理解,Java中的基本数据类型在所有平台上是一致的,Java语言本身为Java程序的平台无关性提供了强有力的支持。
   Java class文件:class文件定义了一个特定于Java虚拟机的二进制格式。Java class文件可以在任何平台上创建,也可以被任何平台的Java虚拟机装入并运行。它的格式,包括多字节值的高位优先存放约定,都有严格的定义,并且是与Java虚拟机所在平台无关的。
    Java支持平台无关性,一个方面就是它的可伸缩性。Java平台可以在各种各样不同类型(从嵌入式设备到大型主机)计算机实现。Sun改变过的API定义方式得到了三个基础API集合,它们表现Java平台不同的伸缩性:企业版、标准版和微型版
    当编写一个平台独立的Java程序时,必须遵守的一条最重要的原则就是:不要直接或间接调用不属于Java API的本地方法,因为调用Java API以外的本地方法将使程序平台相关。
    以上只是我从《深入Java虚拟机》这本书摘录的,如果你想做更加详细的了解,请参考这本书
分享到:
评论

相关推荐

    JAVA的平台无关性

    平台无关性的实现主要归功于Java的编译与运行机制。首先,Java源代码(.java文件)被Java编译器(javac)编译成字节码(.class文件),这是一种中间表示形式,它不直接对应于特定硬件平台的机器指令。字节码是平台...

    java的平台无关性理解.doc

    - **JVM**:Java 虚拟机是实现平台无关性的关键。它作为一层抽象,屏蔽了底层操作系统的细节,提供了统一的运行环境。 - **Java 字节码**:Java 编译器将源代码编译成字节码,这种二进制格式在任何平台上保持一致,...

    Java的平台无关性.pdf

    Java虚拟机(JVM)是实现平台无关性的关键。JVM是一个软件层,它解析并执行Java字节码,字节码是Java源代码编译后的中间表示。每个操作系统都有自己的JVM实现,这意味着在任何支持JVM的操作系统上,相同的Java程序都...

    java的跨平台性

    Java的类加载机制也是实现跨平台性的重要部分。当Java程序启动时,JVM会加载类文件,验证其语法和安全,然后进行实例化和执行。这种动态加载机制使得Java程序可以适应不同的运行环境,因为它可以根据实际需要加载...

    利用JAVA实现局域网的跨平台实时视频传输_吴良斌1

    本文讨论了基于JAVA实现的局域网跨平台实时视频传输系统设计,旨在解决当前视频传输系统存在的问题,如可扩展性差、格式不统一等。通过分析局域网中视频传输的特点和模型,并针对不同的平台,提出了一种通用的实时...

    Java概述平台无关性、面向对象、应用在基于WEB的应用程序中、多线程

    Java的核心优势在于它的平台无关性、面向对象特性和在网络应用程序中的广泛应用,以及它支持多线程。 平台无关性是Java语言最显著的特征之一。这意味着Java编写的程序可以在任何支持Java虚拟机(JVM)的平台上运行...

    JAVA实现局域网跨平台实时视频传输

    JAVA因其平台无关性的特性,成为解决此类问题的理想选择。文章首先分析了局域网视频传输的特点和常见问题,如数据量大可能导致的网络拥塞和延迟。 文章提到的解决方案基于SUN公司的Java Media Framework (JMF),这...

    Java跨平台的原理

    平台无关性 Java跨平台性的实现不仅仅是通过字节码和JVM,还包括其他几个关键因素: - **Class文件格式**:Java的Class文件格式是平台无关的,这意味着它可以在任何支持JVM的平台上运行。 - **JDK和JRE的分发**:...

    基于Java技术平台的办公管理系统设计与实现.pdf

    Java是一种高级的面向对象的编程语言,其平台无关性和可移植性使其成为开发企业级应用的理想选择。Java平台允许开发者编写一次代码,之后可以在任何支持Java的平台上运行,这为办公管理系统的跨平台部署提供了便利。...

    Java跨平台特性的实现原理.pdf

    总的来说,Java跨平台特性是通过Java编译器生成平台无关的字节码,以及JVM的解释执行和JIT编译实现的。它使得开发者可以专注于编写代码,而不必考虑底层操作系统差异,极大地促进了软件的移植性和复用性。这一特性...

    java corba实现异构平台系统

    【Java CORBA 实现异构平台系统】 在现代软件行业中,由于各种平台和编程语言的多样化,构建能够跨平台...通过其语言和平台无关性,以及丰富的服务支持,开发者可以构建可扩展、健壮的分布式应用,满足企业级的需求。

    java实现简单投票

    Java是面向对象的编程语言,具有平台无关性、安全性、稳定性和可移植性等优点。在本投票系统中,Java用于编写服务器端代码,处理用户请求,与数据库交互,以及生成响应。 ### 2. Ajax技术 Ajax(Asynchronous ...

    java 跨平台 监控

    Java平台包括Java虚拟机(JVM)和Java应用编程接口(API),能够在不同操作系统上运行同一套代码,无需重新编译,极大提升了软件的移植性和平台无关性。此外,Java语言的健壮性、安全性、可移植性以及优异的性能使其...

    Java 实现五子棋 源码

    首先,Java是广泛使用的面向对象的编程语言,它具有平台无关性、丰富的类库和高效性能等优点,因此非常适合开发这种桌面应用程序。源码中可能包括了以下几个关键组件: 1. **棋盘类**:通常会有一个棋盘类来存储...

    Java实现对Weka算法的应用案例

    在IT领域,Weka是一个非常著名的数据挖掘工具,它...从CSV文件加载数据、预处理、选择和训练模型、评估模型性能,整个流程都可以在Java代码中优雅地完成,提高了数据科学项目在实际生产环境中的可复用性和可扩展性。

    嵌入式系统中Java AWT的实现.pdf

    同时,Java虚拟机还可以提供与平台无关的应用程序接口,支持跨平台的应用程序开发。 Java AWT的实现还需要考虑到系统的可移植性和可扩展性,需要选择合适的图形库和Java虚拟机来支持AWT的实现。同时,需要考虑到...

    Verilog到Java在线翻译器Verilog2Java的设计与实现.pdf

    而Java语言作为一种高级编程语言,其最大的优势在于其平台无关性和编写一次,到处运行的能力。随着集成电路设计的复杂度不断增加,设计人员开始寻求一种可以将硬件设计与软件开发相结合的方法,以减少跨平台操作的...

    后端研究-嵌入式系统Java平台的实现.pdf

    Java的出现解决了这个问题,它的平台无关性使得开发者可以编写一次代码,部署到多种嵌入式设备上,极大地简化了开发和维护过程。 随着嵌入式系统对Java的支持趋势,研究如何在嵌入式系统上建立Java平台变得至关重要...

    基于java平台的校园图书交易网站的设计与实现【开题报告】.pdf

    1. Java技术栈:该报告围绕Java技术栈进行展开,Java是一种广泛应用于企业级开发的编程语言,它的平台无关性、面向对象特性和丰富的类库支持使其成为构建复杂网络应用程序的理想选择。本项目中,Java将作为后端逻辑...

Global site tag (gtag.js) - Google Analytics