美文网首页IT面试
002-如何理解Java的平台独立性

002-如何理解Java的平台独立性

作者: 程序熊大 | 来源:发表于2019-03-03 14:23 被阅读70次
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

相关文章

  • 002-如何理解Java的平台独立性

    本文首发于公众号:javaadu Java有句非常有名的口号——“一次编写,到处运行”,依靠的就是JVM提供的平台...

  • 如何理解 Java 的平台独立性

    Java有句非常有名的口号——“一次编写,到处运行”,依靠的就是JVM提供的平台独立性,本质上来讲,就是通过虚拟机...

  • JVM JRE JDK JIT之间的区别

    java虚拟机(JVM) 使用java编程语言的主要优势就是平台的独立性。你曾经想知道过java怎么实现平台的...

  • 【Java进阶营】高频面试题八股文分享

    Java的特点 Java是一门面向对象的编程语言。面向对象和面向过程的区别参考第三道题。 Java具有平台独立性和...

  • JVM相关

    一 谈谈对Java的理解 平台无关性;GC;语言特性;面向对象;类库;异常处理; 二 平台无关性如何实现? 1. ...

  • java平台理解

    Java特性: 面向对象(封装,继承,多态) 平台无关性(JVM运行.class文件) 语言(泛型,Lambda)...

  • Java平台的理解

    注:本系列的文章参考杨晓峰在极客时间的课程<> 谈谈Java平台的理解? “Java是解...

  • java平台的理解

    写程序用jdk,看源码要把lib中的src加进去 底层是虚拟机,包含了垃圾收集器,里面有各种代,新生代,老年代,永...

  • Java平台的理解

    面向对象设计理念一次编写到处运行垃圾回收机制 完善的社区成熟的企业级开发框架丰富的第三方jar包 平滑的学习曲线

  • java平台的理解

    对java平台的理解 问题1 对java平台的理解? java本身是一种面向对象的语言,最显著的两个特点:书写一次...

网友评论

    本文标题:002-如何理解Java的平台独立性

    本文链接:https://www.haomeiwen.com/subject/ztwpuqtx.html