精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Java虛擬機發展史:深入理解Java虛擬機

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

Java虛擬機發展史

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

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

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

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

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

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

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

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

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2960

    瀏覽量

    104562
  • 虛擬機
    +關注

    關注

    1

    文章

    908

    瀏覽量

    28109
收藏 人收藏

    評論

    相關推薦

    虛擬化數據恢復—XenServer虛擬機數據恢復案例

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

    虛擬化數據恢復——Hyper-V虛擬機數據恢復案例

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

    虛擬機數據恢復—異常斷電導致XenServer虛擬機不可用的數據恢復案例

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

    虛擬化數據恢復—異常斷電導致VMware虛擬機文件丟失的數據恢復案例

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

    虛擬化數據恢復—EXSI虛擬機誤還原快照如何恢復數據?

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

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

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

    創建ubuntu虛擬機

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

    虛擬機數據恢復—KVM虛擬機被誤刪除的數據恢復案例

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

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

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

    虛擬化數據恢復—虛擬機誤還原快照的數據恢復案例

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

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

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

    虛擬機數據恢復-虛擬機還原快照原理和誤還原快照的數據恢復方案

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

    VMware虛擬機的三種網絡模式

    VMware虛擬機的三種網絡模式 VMware是一種廣泛使用的虛擬機軟件,可以創建和管理多個虛擬機。在使用VMware虛擬機時,網絡設置非常重要,因為它決定了
    的頭像 發表于 02-04 11:17 ?1897次閱讀

    虛擬機ubuntu怎么聯網

    虛擬機ubuntu怎么聯網? 虛擬機(Virtual Machine)是運行在物理(Host Machine)上的虛擬操作系統環境。在虛擬機
    的頭像 發表于 12-27 16:51 ?947次閱讀

    java虛擬機內存包括遠空間內存嗎

    Java虛擬機(JVM)內存是Java程序執行時所使用的內存空間的總稱,包括了Java堆、方法區、本地方法棧、虛擬機棧和程序計數器等多個部分
    的頭像 發表于 12-05 14:15 ?381次閱讀