JAVA的平台无关性如何实现?

谈谈你对Java的理解

◆平台无关性                       ◆语言特性
◆面向对象                           ◆类库
◆GC                                    ◆异常处理

JAVA的平台无关性如何实现


Java源码首先被编译成字节码,再由不同平台的JVM进行解析,Java语言在不同的平台上运行时不需要进行重新编译,Java虚拟机在执行字节码的时候,把字节码转换成具体平台上的机器指令。

为什么JVM不直接将源码解析成机器码去执行

  1. 字节码更便于虚拟机读取,不用在解析字符串,所以运行速度比直接解析源代码快。
  2. 生成字节码过程中,编译器可以预先作语法错误或者安全性方面的检查,出错机会更少。
  3. 字节码也可以由其他语言生成,如Groovy,Clojure.Scala需要注意的事,既然这些语言可以编译成字节码,也就可以被Java或其他JVM语言调用。

JVM如何加载class文件可参考我下一篇文章,简书平台被禁了一个月,暂时不能发布,没有链接,我统一发文章时候可能就忘了这些了,如果有朋友想看可以自行查看我的JVM文集

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容