国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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
    +關注

    關注

    20

    文章

    3001

    瀏覽量

    116432
  • 虛擬機
    +關注

    關注

    1

    文章

    972

    瀏覽量

    30473
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    虛擬機數據恢復—虛擬機vmdk文件被刪除的數據恢復案例

    本次數據恢復涉及一臺R710系列服務器和一臺MD3200系列存儲,上層是ESXI5.5版本的虛擬機虛擬文件。因客戶機房非正常斷電,虛擬機無法啟動。機房管理員檢查發現虛擬機配置文件丟失
    的頭像 發表于 02-10 17:05 ?193次閱讀
    <b class='flag-5'>虛擬機</b>數據恢復—<b class='flag-5'>虛擬機</b>vmdk文件被刪除的數據恢復案例

    Arm架構助力Azure Cobalt 100虛擬機工作負載性能提升

    自從微軟推出基于 Arm 架構的 Azure Cobalt 100 虛擬機 (VM) 以來,已有眾多客戶選擇這款新實例運行各類用例。目前,Cobalt 100 虛擬機已在全球微軟 Azure 云
    的頭像 發表于 12-15 14:42 ?655次閱讀
    Arm架構助力Azure Cobalt 100<b class='flag-5'>虛擬機</b>工作負載性能提升

    虛擬機數據恢復—異常斷電致ESXI存儲失聯?這份實戰數據恢復案例請收好

    服務器存儲數據恢復環境: 一臺服務器上部署esxi虛擬化平臺。上層采用通過FreeNAS構建的iSCSI方式FCSAN功能,FreeNAS層采用UFS2文件系統。 esxi虛擬化系統有3臺虛擬機
    的頭像 發表于 11-11 14:11 ?260次閱讀

    Arm Neoverse CPU上大代碼量Java應用的性能測試

    Java 虛擬機 (JVM) 內執行。JVM 必須先通過解釋器或即時 (JIT) 編譯器將字節碼轉換為機器碼,而運行時生成的機器碼對 Java 應用的效率和性能至關重要。
    的頭像 發表于 11-05 11:25 ?755次閱讀
    Arm Neoverse CPU上大代碼量<b class='flag-5'>Java</b>應用的性能測試

    蜂鳥e203在虛擬機unbuntu上面驗證時報錯的可能原因及解決措施

    內容:蜂鳥e203在虛擬機unbuntu上面驗證時報錯的可能原因 現象: 解決措施: 蜂鳥e203在虛擬機unbuntu上面驗證時不要重復輸入命令: make install make compile SIM=iverilog 只需輸入一遍
    發表于 10-24 08:27

    搭建自己的ubuntu系統之創建ubuntu虛擬機

    打開VMware軟件,點擊創建新的虛擬機。進入以下界面:選擇自定義,點擊“下一步”。選擇對應VMware版本的兼容性,版本可在幫助-&gt;關于VMware Workstation中
    發表于 09-25 09:39

    中軟國際鴻云虛擬機安裝指南

    鴻蒙電腦作為新一代分布式計算平臺,憑借其卓越的多端協同能力和智能化特性,為高效辦公提供了新選擇。針對專業軟件兼容性這一核心痛點,中軟國際的鴻云虛擬機解決方案提供了務實的技術路徑。作為專為鴻蒙生態打造
    的頭像 發表于 06-23 16:31 ?4203次閱讀

    迅為RK3588開發板掛載Windows以及虛擬機Ubuntu測試

    使用以下命令測試,如下圖所示: 電腦端 IP 為 192.168.1.96 共享文件夾為 share-tian 虛擬機 Ubuntu 端 IP 為 192.168.1.6 共享文件夾為 samba
    發表于 06-19 10:32

    TECS OpenStack資源池虛擬機網絡二層地址無法互通的問題處理

    某運營商TECS OpenStack使用主機overlay SDN方案組網,運維人員在創建虛擬機測試虛擬機網絡狀態時發現問題:在其中一臺主機上創建兩臺同網段虛擬機虛擬機之間二層地址無
    的頭像 發表于 06-12 09:28 ?885次閱讀
    TECS OpenStack資源池<b class='flag-5'>虛擬機</b>網絡二層地址無法互通的問題處理

    虛擬化數據恢復—XenServer虛擬化平臺上VPS不可用的數據恢復案例

    虛擬化環境: 某品牌720服務器中有一組通過型號為H710P的RAID卡+4塊STAT硬盤組建的RAID10,上層部署Xen Server服務器虛擬化平臺。虛擬機安裝的Windows Server
    的頭像 發表于 05-30 11:35 ?692次閱讀
    <b class='flag-5'>虛擬</b>化數據恢復—XenServer<b class='flag-5'>虛擬</b>化平臺上VPS不可用的數據恢復案例

    Vsan數據恢復——Vsan分布式文件系統上虛擬機不可用的數據恢復

    一臺采用VsSAN分布式文件系統的存儲設備由于未知原因關機重啟。管理員發現上層的虛擬機不可用,存儲內的數據丟失。
    的頭像 發表于 05-15 17:42 ?574次閱讀
    Vsan數據恢復——Vsan分布式文件系統上<b class='flag-5'>虛擬機</b>不可用的數據恢復

    分布式存儲數據恢復—虛擬機上hbase和hive數據庫數據恢復案例

    分布式存儲數據恢復環境: 16臺某品牌R730xd服務器節點,每臺服務器節點上有數臺虛擬機。 虛擬機上部署Hbase和Hive數據庫。 分布式存儲故障: 數據庫底層文件被誤刪除,數據庫不能使用。要求恢復hbase和hive數據庫。
    的頭像 發表于 04-17 11:05 ?721次閱讀

    Linux內核編譯失???移動硬盤和虛擬機的那些事兒

    Linux開發中,編譯內核是一項常見任務,但不少開發者在移動硬盤或虛擬機環境下嘗試時會遭遇失敗。本文將簡要探討這些問題的成因,并介紹一些虛擬機使用技巧,幫助大家更好地應對相關問題。在移動硬盤里編譯
    的頭像 發表于 04-11 11:36 ?994次閱讀
    Linux內核編譯失敗?移動硬盤和<b class='flag-5'>虛擬機</b>的那些事兒

    Linux 5.15.52_2.1.0 (Yocto) 是否支持Xen虛擬機管理程序?

    我正在使用 Yocto 和 i.MX8QM 板,我對 Xen 支持有幾個問題: Linux 5.15.52_2.1.0 (Yocto) 是否支持 Xen 虛擬機管理程序? If yes
    發表于 03-27 06:17

    【貝啟科技BQ3568HM開源鴻蒙開發板深度試用報告】3-ubuntu18.04虛擬機開發環境搭建

    虛擬機選擇 為了方便開發,我選擇了采用虛擬機安裝Ubuntu系統。 我的虛擬機版本如下: Ubuntu18.04系統安裝 根據官方建議,我選擇了這個版本的系統。 話不多說,直接安裝: 快捷鍵
    發表于 03-18 11:28