那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Java虛擬機發(fā)展史:深入理解Java虛擬機

如意 ? 來源:百家號 ? 作者:怡子科技 ? 2020-07-01 11:57 ? 次閱讀

Java虛擬機發(fā)展史

從1996年初sun公司發(fā)布的jdk1.0中所包含的sun Classic VM到今天,曾經(jīng)涌現(xiàn)或消失過許多經(jīng)典和特色的虛擬機出現(xiàn)。Classic VM只能使用純編輯器來執(zhí)行。如果要使用jit編輯器必須使用外掛。執(zhí)行效率和傳統(tǒng)的c/c++程序有很大差異,“Java語言很慢”就是在這個時候在用戶中樹立起來的。

Sun公司努力去解決classvm的問題,為了提升運行效率,在jdk1.2使用了exact vm 它的執(zhí)行系統(tǒng)已經(jīng)具備現(xiàn)代高性能虛擬機的雛形。編譯器和解釋器混合工作模式。雖然比第一代先進了許多,但在商業(yè)中只存在了很短暫的時間就被hotspot vm所取代,甚至還沒來的及發(fā)布windows和linx下的商用版本。

提起hotspotvm。它是sun jdk 和open jdk中所帶的虛擬機,也是目前使用范圍最廣的Java虛擬機。繼承了上兩代虛擬機的優(yōu)點。

熱點代碼和探測技術(shù),hotSpot熱點探測能力可以通過執(zhí)行計數(shù)器找出最具有編譯價值的代碼,然后通過jit以方法為單位進行編譯。

Java技術(shù)的未來是趨向于模塊化的,技術(shù)平臺越來越復(fù)雜,越來越龐大。當(dāng)單一的Java開發(fā)無法滿足當(dāng)前軟件的復(fù)雜需求,越來越多的Java虛擬機的語言開發(fā)被應(yīng)用到我們的軟件項目中。

如今,cpu硬件的發(fā)展方向已經(jīng)從高頻率轉(zhuǎn)化為多核心,軟件開發(fā)越來越關(guān)注并行編程的領(lǐng)域。Jdk1.5 引入了Java.util.concurrent包實現(xiàn)了粗粒度的并發(fā)框架。而1.7的forkjoin包則包含了對這個框架的一次重要擴充。Jdk1.8提供lambda 極大的改善了Java語言不適合函數(shù)式編程的現(xiàn)狀。在幾年之前,主流的cpu就支持64位架構(gòu)了。,Java也早早地推出了支持64位的版本。

想要精通jdk內(nèi)部的實現(xiàn)機制,最便捷的路徑是自己編譯一套jdk,雖然門檻高很多,但肯定比閱讀書籍,文章更貼近本質(zhì),怎么獲取jdk源碼?Source bundle releases 獲取打包好的源碼。大概99M,解壓后約 339M。

Java虛擬機在執(zhí)行Java程序的過程中,會把它所管理的內(nèi)存劃分為若干個不同的數(shù)據(jù)區(qū)。這些區(qū)域有各自的用途,有的區(qū)域隨著隨著虛擬機進程的啟動而存在。有些區(qū)域則依賴于用戶線程的啟動和結(jié)束建立和銷毀。

程序計數(shù)器是一塊較小的內(nèi)存空間,它可以看作當(dāng)前線程執(zhí)行字節(jié)碼的行數(shù)指示器。每條線程都需要一個獨立的程序計數(shù)器。線程之間計數(shù)器互不影響。如果線程正在執(zhí)行一個方法,這個計數(shù)器記錄的是正在執(zhí)行的虛擬機字節(jié)碼指令的地址:如果正在執(zhí)行native方法。這個計數(shù)器值則為空,此內(nèi)存區(qū)域是唯一一個虛擬機沒有任何outofmemoryError的區(qū)域。

Java虛擬機棧也是線程私有的,虛擬機棧是Java方法執(zhí)行的內(nèi)存模型,存儲局部變量表,操作數(shù)棧,方法出口,動態(tài)鏈接等信息。如果線程請求的棧深度大于虛擬機所允許的深度,拋出stackOverFlowError。本地方法棧為虛擬機使用native方法使用。

Java堆是管理內(nèi)存中最大的一塊,是所有線程共享,存放對象實例。有的時候也被成為GC堆,采用分代收集算法,分為新生代和老生代 如果堆無法繼續(xù)擴展并且實例無法內(nèi)存分配。拋出outofmemoryError。方法區(qū)和堆一樣,各個線程共享的內(nèi)存區(qū)域。存儲類信息,常量,靜態(tài)變量,即時編譯器編譯后的代碼等數(shù)據(jù)。運行時常量池是方法區(qū)的一部分。直接內(nèi)存并不是虛擬機運行的一部分,也不是Java規(guī)范的內(nèi)存區(qū)域,在jdk1.4加入nio,引入基于通道的緩沖區(qū)的I/o方式,它可以使用native函數(shù)庫直接分配堆外內(nèi)存,這樣顯著提高性能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2975

    瀏覽量

    105156
  • 虛擬機
    +關(guān)注

    關(guān)注

    1

    文章

    940

    瀏覽量

    28429
收藏 人收藏

    評論

    相關(guān)推薦

    hyper cpu,Hyper CPU優(yōu)化:提升虛擬機性能

    :提升虛擬機性能。 ? ?在虛擬化環(huán)境中,CPU性能優(yōu)化對于提升虛擬機的整體性能至關(guān)重要。Hyper-V提供了多種工具和策略,幫助用戶根據(jù)虛擬機的工作負(fù)載需求合理分配和優(yōu)化CPU資源。
    的頭像 發(fā)表于 02-06 10:25 ?64次閱讀
    hyper cpu,Hyper CPU優(yōu)化:提升<b class='flag-5'>虛擬機</b>性能

    hyper內(nèi)存條,hyper-v 添加虛擬機還需要硬盤嗎

    在計算機技術(shù)的浩瀚星空中,虛擬機猶如一顆璀璨的明星,散發(fā)著獨特的光芒。今天給大家介紹hyper-v添加虛擬機還需要硬盤嗎? ? ?hyper-v添加虛擬機還需要硬盤嗎? ? ?Hyper-V是
    的頭像 發(fā)表于 01-24 14:01 ?115次閱讀
    hyper內(nèi)存條,hyper-v 添加<b class='flag-5'>虛擬機</b>還需要硬盤嗎

    虛擬化數(shù)據(jù)恢復(fù)—XenServer虛擬機數(shù)據(jù)恢復(fù)案例

    Server操作系統(tǒng)虛擬機,該虛擬機有2塊虛擬磁盤(系統(tǒng)盤+數(shù)據(jù)盤),當(dāng)作網(wǎng)站服務(wù)器使用。 服務(wù)器虛擬化故障: XenServer虛擬機
    的頭像 發(fā)表于 11-08 10:32 ?186次閱讀
    <b class='flag-5'>虛擬</b>化數(shù)據(jù)恢復(fù)—XenServer<b class='flag-5'>虛擬機</b>數(shù)據(jù)恢復(fù)案例

    虛擬化數(shù)據(jù)恢復(fù)——Hyper-V虛擬機數(shù)據(jù)恢復(fù)案例

    虛擬化數(shù)據(jù)恢復(fù)環(huán)境: Windows Server操作系統(tǒng)服務(wù)器上部署Hyper-V虛擬機環(huán)境。虛擬機的硬盤文件和配置文件存放在一臺存儲中,該存儲上有一組由4塊硬盤組建的raid5陣列,除此之外
    的頭像 發(fā)表于 10-25 09:26 ?275次閱讀
    <b class='flag-5'>虛擬</b>化數(shù)據(jù)恢復(fù)——Hyper-V<b class='flag-5'>虛擬機</b>數(shù)據(jù)恢復(fù)案例

    虛擬機數(shù)據(jù)恢復(fù)—異常斷電導(dǎo)致XenServer虛擬機不可用的數(shù)據(jù)恢復(fù)案例

    虛擬機數(shù)據(jù)恢復(fù)環(huán)境: 某品牌服務(wù)器通過同品牌某型號的RAID卡,將4塊STAT硬盤為一組RAID10陣列。上層部署XenServer虛擬化平臺,虛擬機安裝Windows Server系統(tǒng),每臺
    的頭像 發(fā)表于 10-21 14:17 ?250次閱讀
    <b class='flag-5'>虛擬機</b>數(shù)據(jù)恢復(fù)—異常斷電導(dǎo)致XenServer<b class='flag-5'>虛擬機</b>不可用的數(shù)據(jù)恢復(fù)案例

    虛擬化數(shù)據(jù)恢復(fù)—異常斷電導(dǎo)致VMware虛擬機文件丟失的數(shù)據(jù)恢復(fù)案例

    某品牌服務(wù)器(部署VMware EXSI虛擬機)+同品牌存儲(存放虛擬機文件)。
    的頭像 發(fā)表于 09-14 17:35 ?749次閱讀
    <b class='flag-5'>虛擬</b>化數(shù)據(jù)恢復(fù)—異常斷電導(dǎo)致VMware<b class='flag-5'>虛擬機</b>文件丟失的數(shù)據(jù)恢復(fù)案例

    虛擬化數(shù)據(jù)恢復(fù)—EXSI虛擬機誤還原快照如何恢復(fù)數(shù)據(jù)?

    虛擬化技術(shù)原理是將硬件虛擬化供不同的虛擬機使用,一臺物理機上可以有多臺虛擬機。人為誤操作或者物理故障會導(dǎo)致上層
    的頭像 發(fā)表于 09-09 11:56 ?428次閱讀
    <b class='flag-5'>虛擬</b>化數(shù)據(jù)恢復(fù)—EXSI<b class='flag-5'>虛擬機</b>誤還原快照如何恢復(fù)數(shù)據(jù)?

    什么是虛擬機?什么是虛擬化?

    在日新月異的科技世界中,虛擬化技術(shù)如同一座橋梁,連接著現(xiàn)實與數(shù)字的鴻溝,為我們打開了全新的計算維度。虛擬機,這一概念,自其誕生以來,就以其獨特的魅力和強大的功能,深深地影響了軟件開發(fā)、系統(tǒng)測試和云計算等多個領(lǐng)域。即使目前你還不了解它的應(yīng)用,你應(yīng)該也聽過
    的頭像 發(fā)表于 09-04 14:55 ?1211次閱讀

    創(chuàng)建ubuntu虛擬機

    英文的習(xí)慣。創(chuàng)建ubuntu虛擬機打開VMware軟件,點擊創(chuàng)建新的虛擬機。進入以下界面:選擇自定義,點擊“下一步”。選擇對應(yīng)VMware版本的兼容性,版本可在幫助->關(guān)于VMware
    發(fā)表于 08-10 14:15

    虛擬機數(shù)據(jù)恢復(fù)—KVM虛擬機被誤刪除的數(shù)據(jù)恢復(fù)案例

    虛擬機數(shù)據(jù)恢復(fù)環(huán)境: Linux操作系統(tǒng)服務(wù)器,EXT4文件系統(tǒng)。服務(wù)器中有數(shù)臺KVM虛擬機虛擬機1:主數(shù)據(jù)庫服務(wù)器 虛擬磁盤:系統(tǒng)盤(qcow2)+數(shù)據(jù)盤(raw)
    的頭像 發(fā)表于 08-07 13:33 ?527次閱讀
    <b class='flag-5'>虛擬機</b>數(shù)據(jù)恢復(fù)—KVM<b class='flag-5'>虛擬機</b>被誤刪除的數(shù)據(jù)恢復(fù)案例

    什么是虛擬機虛擬機真的那么好用嗎?

    在日新月異的科技世界中,虛擬化技術(shù)如同一座橋梁,連接著現(xiàn)實與數(shù)字的鴻溝,為我們打開了全新的計算維度。虛擬機,這一概念,自其誕生以來,就以其獨特的魅力和強大的功能,深深地影響了軟件開發(fā)、系統(tǒng)測試和云
    的頭像 發(fā)表于 07-06 08:05 ?463次閱讀
    什么是<b class='flag-5'>虛擬機</b>?<b class='flag-5'>虛擬機</b>真的那么好用嗎?

    虛擬化數(shù)據(jù)恢復(fù)—虛擬機誤還原快照的數(shù)據(jù)恢復(fù)案例

    有一臺虛擬機是由物理遷移到ESXI上面的,遷移完成后為該虛擬機做了一個快照。虛擬機上運行了一個SQL Server數(shù)據(jù)庫,記錄了5年左右的數(shù)據(jù)。 該ESXI上共有二十幾臺
    的頭像 發(fā)表于 05-11 11:07 ?623次閱讀

    虛擬機的ip地址和主機一樣嗎

    虛擬機的ip地址和主機一樣嗎? 虛擬機的IP地址和主機的IP地址通常不相同。虛擬機是在主機上通過虛擬化技術(shù)創(chuàng)建的虛擬化實例,它可以在同一臺物
    的頭像 發(fā)表于 03-26 15:34 ?5616次閱讀

    虛擬機數(shù)據(jù)恢復(fù)-虛擬機還原快照原理和誤還原快照的數(shù)據(jù)恢復(fù)方案

    由一臺物理服務(wù)器遷移到ESXI上的虛擬機虛擬機遷移完成后做了一個快照,該ESXI上面一共運行了數(shù)十臺虛擬機。某天工作人員不小心將快照進行了還原,虛擬機內(nèi)的數(shù)據(jù)還原到了數(shù)年前剛遷移過來
    的頭像 發(fā)表于 02-27 11:54 ?1077次閱讀
    <b class='flag-5'>虛擬機</b>數(shù)據(jù)恢復(fù)-<b class='flag-5'>虛擬機</b>還原快照原理和誤還原快照的數(shù)據(jù)恢復(fù)方案

    【鴻蒙】(一)Vmware虛擬機和Ubuntu安裝

    備注 虛擬機命名、用戶名稱、路徑不能有漢字 名稱或者路徑有漢字,導(dǎo)致輸入失敗或者安裝失敗 2.虛擬機處理器內(nèi)核總數(shù)(處理器數(shù)量 X 每個處理器的內(nèi)核數(shù)量)不得超過電腦邏輯處理器總個數(shù) 太少時,下載
    的頭像 發(fā)表于 02-26 21:27 ?3868次閱讀
    【鴻蒙】(一)Vmware<b class='flag-5'>虛擬機</b>和Ubuntu安裝
    什么百家乐官网平注法| 红宝石百家乐官网的玩法技巧和规则 | 百家乐官网只打一种牌型| 百家乐外挂程式| 大发888登陆网页| 百家乐官网心得打法| 沙龙百家乐娱乐平台| 富源县| 百家乐U盘下载| 大发888澳88| 百家乐官网赌博论坛| 万宝路百家乐的玩法技巧和规则| 百家乐官网稳赚打法| 百家乐也能赢钱么| 易发| 百家乐视频交流| 一起pk棋牌游戏下载| 中原百家乐官网的玩法技巧和规则| 全讯网网站| 澳门百家乐官网图形| 百家乐统计软件| 百家乐官网云顶| 免费百家乐奥| 网上百家乐官网有假的吗| 百家乐视频世界| 大发888娱乐城帝豪| 百家乐官网返点| 威尼斯人娱乐城网站| 百家乐官网赌博详解| 真人游戏豆瓣| 真人百家乐官网视频| 大发888客服电话| 百家乐官网筹码托盘| 百家乐套利| 百家乐官网和的几率| 大发888 casino| 百家乐官网过滤工具| 必胜娱乐场| 百家乐翻天快播| 百家乐官网网上最好网站| 大发888 登陆不上|