面試——談談對JAVA的理解


談談你對Java平台的理解。
答:Java首先是一種面向對象的語言,語言特性有封裝,繼承,多態,泛型,Lamda表達式等;
  第二個特性:支持跨平台,一次書寫導出運行(write once,run anywhere),能夠實現跨平台是因為JVM,編寫源文件,
  通過javac編譯成字節碼.class文件,然后JVM再翻譯成對應的機器碼來運行;
  第三個特性:垃圾回收器(GC),程序員不用關注內存的分配和回收。
  JRE是Java運行時環境,JDK包含JRE,並提供了很多工具,包括編譯器,診斷工具如Jconsole,visualVM等

 


Java是解釋執行嗎?
答:不是特別准確,首先我們開發的源代碼會通過javac編譯成字節碼,然后運行時通過JVM的解釋器將字節碼轉成
  最終的機器碼,但是我們使用的JDK都提供了JIT(即時Just in Time)編譯器,就是常說的動態編譯器,JIT能夠
  在運行的時候將經常運行的熱點代碼編譯成機器碼,這時部分熱點代碼就是編譯執行,而不是解釋執行。
  並且Java9提供了AOT編譯器直接將所有代碼編譯成機器碼執行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM