对于Java平台的理解(对于java平台的理解是什么)

  本篇文章为你整理了对于Java平台的理解(对于java平台的理解是什么)的详细内容,包含有对于java平台的理解正确的是 对于java平台的理解是什么 谈谈你对java平台的理解 java平台具有什么功能 对于Java平台的理解,希望能帮助你了解 对于Java平台的理解。

  谈谈你对 Java 平台的理解?“Java 是解释执行”,这句话正确吗?

   Java 本身是一种面向对象的语言,最显著的特性有两个方面,一是所谓的“一处编译,处处运行”(Write once,run anywhere),能够非常容易地获得跨平台能力;另外就是垃圾收集(GC,Garbage Collection),Java通过垃圾收集器(Garbage Collector)回收分配内存,大部分情况下,我们不需要自己操心内存的分配回收。

   我们日常会接触到JRE(Java Runtime Environment) 或者JDK(Java Development Kit)。JRE,也就是Java 运行环境,包含了JVM和Java类库,以及一些模块等。而JDK可以看作是JRE的一个超集,提供了更多工具比如编译器,各种诊断工具等。

   对于“Java 是解释执行”这句话,这样的说法不太准确。我们开发的源代码,首先通过Javac(编译器)编译成字节码(bytecode),然后,在运行时,通过Java 虚拟机(JVM)内嵌的解释器将字节码转换为最终的机器码。但是常见的JVM ,比如Oracle JDK 提供的Hotspot JVM,也提供了JIT(Just-In-Time)编译器,也就是通常所说的动态编译器,JIT能够在运行时将热点代码编译成机器码,这种情况下部分热点代码就属于编译执行,而不是解释执行了。

  

  

  

解释执行:将字节码一行一行地翻译为机器码执行。

 

  编译执行:以方法为单位,将字节码一次性翻译为机器码后执行。

 

  

  结论:目前主流的JVM 都是混合模式(-Xmixed),即解释运行 和编译运行配合使用。

  

  

  

  补充--优缺点:

  

  由于编译执行是将翻译过后的机器码保存下来,所以代码二次运行时不需要重新翻译,可以直接运行机器码,所以效率更快。解释执行因为不需要提前翻译,所以启动更快。

  

  以上就是对于Java平台的理解(对于java平台的理解是什么)的详细内容,想要了解更多 对于Java平台的理解的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: