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

2022-05-13 11:03:34 浏览数 (1)

谈谈你对Java的理解

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

JAVA的平台无关性如何实现

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

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

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

0 人点赞