Java有句非常有名的口号——“一次编写,到处运行”,依靠的就是JVM提供的平台独立性,本质上来讲,就是通过 虚拟机技术 ,通过 限制一些功能 ,达到 屏蔽底层细节 的目的。更具体得说,Java的平台独立性体现在两个方面:体系结构无关、可移植。
小编整理了一些java进阶学习资料和面试题,需要资料的请加JAVA高阶学习Q群:664389243 这是小编创建的java高阶学习交流群,加群一起交流学习深造。群里也有小编整理的2019年最新最全的java高阶学习资料!
体系结构无关
JVM里设计了一套字节码指令系统,这套指令系统跟特定的体系结构没有关系。精心设计的字节码不仅可以在各个机器上运行,还可以迅速得翻译成本地机器的代码。解释字节码运行肯定比先编译后运行慢得多,因此虚拟机提供了即时编译子系统,用于将使用最频繁的字节码翻译成本地指令,这个策略十分有效。
可移植
与C和C++不同,Java规范中没有“依赖具体实现”的地方,基本数据类型的大小以及有关的算法都做了明确的定义。例如:在Java中int永远为32位整数,而在C/C++中,int可能是16位整数、32位整数,也可能是编译器提供商指定的其他大小。
作为系统组成部分的类库,定义了可移植的接口。例如:一个抽象的Window类给出了在UNIX、Windows和Mac OS环境不同的实现;文件路径分隔符——File.separator,针对不同的文件系统也有不同的实现。
小编整理了一些java进阶学习资料和面试题,需要资料的请加JAVA高阶学习Q群:664389243 这是小编创建的java高阶学习交流群,加群一起交流学习深造。群里也有小编整理的2019年最新最全的java高阶学习资料!
网友评论