首页 > 其他 > 详细

compile once,run anywhere

时间:2018-05-05 13:48:23      阅读:253      评论:0      收藏:0      [点我收藏+]

编译一次,到处运行;指的是Java语言的跨平台能力,而这种能力主要由Java虚拟机提供的,那Java语言从源代码到可以执行的机器码是怎样编译、运行的呢?Java源代码经过javac编译后生成屏蔽操作系统和硬件的字节码,再经由JVM编译、解释执行。

技术分享图片

Java语言对字节码文件提供了三种执行方式:

  1. 解释执行,逐条代码边翻译边执行
  2. 编译执行(动态编译),由JIT(存在于JVM中,Java in time,Java即时编译器)将热点代码(使用频率高的代码)编译为机器码
  3. AOT二次编译,先形成静态的二进制文件,运行时指定该静态文件,需要手动指定,利用jaotc工具可以实现静态编译

通过指定参数选择Java字节码的执行方式:

  1. java -Xmixed参数,编译和解释执行混合执行的方式,默认方式
  2. java -Xint,解释(interpret)执行
  3. java -Xcomp 编译(compile)执行
  4. jaotc工具指定静态编译模块,待运行时加载该模块即可

 

compile once,run anywhere

原文:https://www.cnblogs.com/boboshenqi/p/8994418.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!