1.Java平臺(tái)與編譯

1.Java平臺(tái)

  • Java平臺(tái)兩個(gè)最主要的特點(diǎn):1.一次書(shū)寫(xiě),到處運(yùn)行 2.垃圾回收
    • 1.到處運(yùn)行:主要依靠JVM速缨,Java代碼被編譯成字節(jié)碼文件任斋,運(yùn)行在對(duì)應(yīng)不同硬件的JVM上苍狰,屏蔽了操作系統(tǒng)與硬件
    • 2.垃圾回收:像C語(yǔ)言荤傲,程序員可以通過(guò)malloc自己申請(qǐng)內(nèi)存空間,但是用完必須要釋放颈渊,否則會(huì)造成內(nèi)存泄露遂黍。Java無(wú)需自己去管理不使用的內(nèi)存。
  • Java的JVM俊嗽、JRE雾家、JDK
    • JVM: Java虛擬機(jī),Java跨平臺(tái)的基礎(chǔ)
    • JRE:Java程序運(yùn)行所需環(huán)境绍豁,包含JVM和Java類(lèi)庫(kù)
    • JDK:Java開(kāi)發(fā)工具包芯咧,包含了JRE和其他編譯器、診斷工具竹揍。

2.Java是解釋執(zhí)行敬飒?

不準(zhǔn)確

  • Java代碼首先被Javac編譯成字節(jié)碼,運(yùn)行時(shí)芬位,JVM內(nèi)嵌的解釋器將字節(jié)碼轉(zhuǎn)換為機(jī)器碼
  • 但是常見(jiàn)的JVM无拗,也提供了JIT編譯器(動(dòng)態(tài)編譯器),能夠在運(yùn)行時(shí)將熱點(diǎn)代碼編譯成機(jī)器碼昧碉,此時(shí)就是編譯執(zhí)行而不是解釋執(zhí)行了

3.拓展

  • 主流的Java版本中英染,如JDK8是解釋和編譯混合的模式。
  • JVM有clinet模式和server模式
    • client:1500次編譯
    • server:上萬(wàn)次調(diào)用收集信息編譯
  • Oracle Hotspot JVM提供兩種JIT
    • C1:適用于啟動(dòng)速度敏感的應(yīng)用被饿,如普通桌面應(yīng)用--client
    • C2:適用于長(zhǎng)時(shí)間運(yùn)行的服務(wù)器端設(shè)計(jì)--server
  • JVM啟動(dòng)時(shí)四康,可以指定不同的參數(shù)對(duì)運(yùn)行模式進(jìn)行選擇
    • -Xint:告訴JVM只解釋執(zhí)行,不對(duì)代碼進(jìn)行編譯狭握。拋棄了JIT帶來(lái)的性能優(yōu)勢(shì)
    • -Xcomp:關(guān)閉解釋器闪金,不要解釋執(zhí)行。
    • AOT模式:直接將字節(jié)碼編譯成機(jī)器代碼论颅,避免了JIT預(yù)熱等方面的開(kāi)銷(xiāo)
      • 編譯:
        jaotc --output libHelloWorld.so HelloWorld.class
        jaotc --output libjava.base.so --module java.base
      
      • 啟動(dòng)
        java -XX:AOTLibrary=./libHelloWorld.so,./libjava.base.so HelloWorld
      
  • 不僅僅只有 Java 語(yǔ)言可以運(yùn)行在 JVM 上毕泌,本質(zhì)上合規(guī)的字節(jié)碼都可以運(yùn)行,Java 語(yǔ)言自身也為此提供了便利嗅辣,我們可以看到類(lèi)似 Clojure撼泛、Scala、Groovy澡谭、JRuby愿题、Jython 等大量 JVM 語(yǔ)言损俭。

參考:《java核心技術(shù)36講》

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市潘酗,隨后出現(xiàn)的幾起案子杆兵,更是在濱河造成了極大的恐慌,老刑警劉巖仔夺,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件琐脏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡缸兔,警方通過(guò)查閱死者的電腦和手機(jī)日裙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)惰蜜,“玉大人昂拂,你說(shuō)我怎么就攤上這事∨撞” “怎么了格侯?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)财著。 經(jīng)常有香客問(wèn)我联四,道長(zhǎng),這世上最難降的妖魔是什么撑教? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任碎连,我火速辦了婚禮,結(jié)果婚禮上驮履,老公的妹妹穿的比我還像新娘鱼辙。我一直安慰自己,他們只是感情好玫镐,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布倒戏。 她就那樣靜靜地躺著,像睡著了一般恐似。 火紅的嫁衣襯著肌膚如雪杜跷。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天矫夷,我揣著相機(jī)與錄音葛闷,去河邊找鬼。 笑死双藕,一個(gè)胖子當(dāng)著我的面吹牛淑趾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播忧陪,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼扣泊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼近范!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起延蟹,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤评矩,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后阱飘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體斥杜,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年沥匈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蔗喂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡咐熙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辨萍,到底是詐尸還是另有隱情棋恼,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布锈玉,位于F島的核電站爪飘,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏拉背。R本人自食惡果不足惜师崎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望椅棺。 院中可真熱鬧犁罩,春花似錦、人聲如沸两疚。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)诱渤。三九已至丐巫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間勺美,已是汗流浹背递胧。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赡茸,地道東北人缎脾。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像占卧,于是被迫代替她去往敵國(guó)和親赊锚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子治筒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容