谈谈你对java平台的理解

  java是跨平台的语言,主要体现在java源代码经过javac编译成.class文件,然后经过jvm编译或解释为机器码文件。

  有人说java既是编译型语言,也是解释型语言,主要是基于以下几点:

1.解释:.class文件经过jvm内嵌的解释器,将其转换成为机器可以执行的机器码文件(逐行解释,效率低下)

2.编译:存在jit编译器(just intime compile)即时编译器,把经常运行的代码作为热点代码编译为与本地平台(操作系统)相关的机器码,并进行各种层次的优化。

3.aot编译器:java9提供的直接将所有代码编译成为机器码。

  源程序->java编译器->.class文件->类加载器->字节码文件校验器->解释器(或者jit即时编译器)->操作系统平台(机器码)

  jvm的存在使java有了“write once,run anywhere”的基础。

posted @ 2020-07-29 19:36  鹏鹏要努力  阅读(93)  评论(0)    收藏  举报