第1講談?wù)勀銓ava平臺理解_第1頁
第1講談?wù)勀銓ava平臺理解_第2頁
第1講談?wù)勀銓ava平臺理解_第3頁
第1講談?wù)勀銓ava平臺理解_第4頁
第1講談?wù)勀銓ava平臺理解_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

對于“Java是解釋執(zhí)行”這句話,這個說法不太準(zhǔn)確。我們開發(fā)的Java的源代碼,首先通過Javac(bytecode),Java(JVM)內(nèi)嵌的解釋JVMOracleJDKHotspotJVMJIT(Just-In-Time)編譯器,也就是通常所說的動態(tài)編譯器,JIT能夠在運(yùn)行時將熱點(diǎn)代碼編譯成機(jī)器碼,這種情況下部分熱點(diǎn)代碼就屬于編譯執(zhí)行,而不是識理解是否很清楚;是否掌握J(rèn)ava平臺主要模塊和運(yùn)行原理等。很多面試者會在這種問題上吃對于這類籠統(tǒng)的問題,你需要盡量表現(xiàn)出自己的思維深入并系統(tǒng)化,Java知識理解得也比較全Java:Java包括泛型、Lambda等語言特性;基礎(chǔ)類庫,包括集合、IO/NIO、網(wǎng)絡(luò)、并發(fā)、安全等基礎(chǔ)類或者談?wù)凧VMJava的類加載機(jī)制,常用版本JDK(JDK8)Class-Loader,BootstrapApplicationExtensionClass-loader;類加載大的JVM上手書籍);自定義Class-Loader等。還有收集的基本原理,最常見的收集器,如SerialGC、ParallelGC、CMS、G1等,對于適用于什么樣的工作負(fù)載最好也心里有JDKJava眾所周知,我們通常把Java分為編譯期和運(yùn)行時。這里說的Java的編譯和C/C++是有著不同的意義的,JavacJava“.class”文件里面實(shí)際是字節(jié)碼,而不是可以在運(yùn)行時,JVM會通過類加載器(Class-Loader)加載字節(jié)碼,解釋或者編譯執(zhí)行。就像我前JavaJDK8(-Xmixed)。通常運(yùn)行在server模式的JVM,會進(jìn)行上萬次調(diào)用以收集足夠的信息進(jìn)行高效 模式這個門限是1500次。OracleHotspotJVM內(nèi)置了兩個不同的JITcompiler,C1對應(yīng)前面說的 模式,適用于對于啟動速度敏感的應(yīng)用,比如普通Java桌 pilation)。這里不再展開JIT的細(xì)節(jié),沒必要一下子就鉆進(jìn)訴JVM只進(jìn)行解釋執(zhí)行,不對代碼進(jìn)行編譯,這種模式拋棄了JIT可能帶來的性能優(yōu)勢。畢竟解釋器(interpreter)是逐條讀入,逐條解釋運(yùn)行的。與其相對應(yīng)的,還有一個“p”參數(shù),這是告訴JVM關(guān)閉解釋器,不要進(jìn)行解釋執(zhí)行,或者叫作最大優(yōu)化級別。那你可能會問這 p”會導(dǎo)致JVM啟動變慢非常多,同時有些JIT編譯器優(yōu)化方式,比如分支預(yù)測,如果不進(jìn)行profiling,往往并不能進(jìn)行有效優(yōu)化。JavaAOT(Ahead-銷,比如OracleJDK9就引入了實(shí)驗(yàn)性的AOT特性,并且增加了新的jaotc工具。利用下面AOTjaotc--outputjaotc--outputjaotc--outputlibjava.base.so--modulejavajava-XX:AOTLibrary=./lib 而且,OracleJDKAOT趣,可以參考相關(guān)文檔:。AOT也不僅僅是只有這式,業(yè)界早就有第工具(如GCJ、ExcelsiorJET)提供相關(guān)功能節(jié)碼都可以運(yùn)行,Java語言自身也為此提供了便利,我們可以看到類似Clojure、Scala、Groovy、JRuby、Jython等大量JVM語言,活躍在不同的場景。Java包括Java語言特性、類庫與常用第類庫、Java虛擬機(jī)基本原理和相關(guān)工具,希望對歸科技所有 C這一塊。我沒有CCAPI。不同的操作系統(tǒng),API,Cnce,runanywhere』,焦點(diǎn)似乎并不在編譯上,而是在對源文件的修改上。 編譯:存在JIT編譯器(JustInTimeCompile)把經(jīng)常運(yùn)行的代碼作為"熱點(diǎn) 1,M的內(nèi)存模型,堆、棧、方法區(qū);字節(jié)碼的跨平臺性;對象在M中的強(qiáng),弱引用,軟,虛,是否可用ai方法救救它?;雙親委派進(jìn)行類加載,什么是雙親M與KgDK(穩(wěn)版,K(wt的符支,K數(shù)編一在展化。,bt lualua 可以把Java程序設(shè)計語言、Java虛擬機(jī)、JavaAPI類庫及相關(guān)工具,這三部分統(tǒng)稱為JDK,Junanywhere,這是程序員的終極夢想之一。但是跨平臺重要嗎?不重要!作為程序語言, 因此,HotSpot采用了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論