我是李福春,我為面試做準備。今天回答第一個問題。
java平臺簡要介紹?java是解釋執行的嗎?
java平臺
java平臺基於jvm具備write once,run everywhere的跨平臺能力;
具備自動垃圾回收;
具有無所不能的生態圈,比如spring,大數據,搜索,maven等;
java語言是面向對象的,常見的特性有泛型,反射,lambda;
jdk
jre包括jvm,java類庫,模塊;
jdk包含jre,還提供了一些工具,比如編譯工具,診斷工具,輔助工具;
jvm賦能java,使得java具備跨平臺的能力,jvm還支持其他的語言,比如常見的groovy,scala等;
jvm常見的垃圾收集器有serialGC,parallelGC,CMS,G1
常見垃圾回收算法:標記,複製,整理
java核心類庫包括 集合,io, 網絡,併發,util ;
此外還有海量的第三方庫。
java的診斷工具有 jmap,jstack,jconsole等;
java是解釋執行嗎?
java是綜合性的執行,即部分解釋執行,部分編譯執行;
java的生命週期分為編譯期,運行期;
編譯期是基於類加載器:
Bootstrap,Application,Extended,自定義類加載器
通過 加載,驗證,連接,初始化成字節碼
可以通過參數指定jvm的執行方式:
-Xint: 指定jvm只解釋執行
-Xcomp: 指定jvm不解釋執行;
AOT的編譯方式使用的比較少,不講了。
小結
本節簡單的介紹了java平臺,以及jdk工具;
然後分析了java的生命週期,它是綜合解釋執行和編譯執行的。
閱讀更多 李福春 的文章