zoukankan      html  css  js  c++  java
  • 002-如何理解Java的平台独立性

    002.jpg

    本文首发于公众号:javaadu

    Java有句非常有名的口号——“一次编写,到处运行”,依靠的就是JVM提供的平台独立性,本质上来讲,就是通过虚拟机技术,通过限制一些功能,达到屏蔽底层细节的目的。更具体得说,Java的平台独立性体现在两个方面:体系结构无关、可移植。

    体系结构无关

    JVM里设计了一套字节码指令系统,这套指令系统跟特定的体系结构没有关系。精心设计的字节码不仅可以在各个机器上运行,还可以迅速得翻译成本地机器的代码。解释字节码运行肯定比先编译后运行慢得多,因此虚拟机提供了即时编译子系统,用于将使用最频繁的字节码翻译成本地指令,这个策略十分有效。

    可移植
    • 与C和C++不同,Java规范中没有“依赖具体实现”的地方,基本数据类型的大小以及有关的算法都做了明确的定义。例如:在Java中int永远为32位整数,而在C/C++中,int可能是16位整数、32位整数,也可能是编译器提供商指定的其他大小。
    • 作为系统组成部分的类库,定义了可移植的接口。例如:一个抽象的Window类给出了在UNIX、Windows和Mac OS环境不同的实现;文件路径分隔符——File.separator,针对不同的文件系统也有不同的实现。

    本号专注于后端技术、JVM问题排查和优化、Java面试题、个人成长和自我管理等主题,为读者提供一线开发者的工作和成长经验,期待你能在这里有所收获。javaadu

  • 相关阅读:
    CSDN博客 专用备份工具
    discuz 7.0 uc 同步登录方法
    delphi 子窗体最大化
    OO系统分析员之路用例分析系列(8)如何编写一份完整的UML需求规格说明书[整理重发]
    delphi 抓取网页内容的程序
    delphi messagebox 使用技巧
    windows mobile下实现程序安装和卸载
    纯真IP库算法
    delphi idhttp 使用方法
    最近评论回复汇总
  • 原文地址:https://www.cnblogs.com/javaadu/p/10713923.html
Copyright © 2011-2022 走看看