chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

如意 ? 來源:百家號 ? 作者:怡子科技 ? 2020-07-01 11:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Java虛擬機(jī)發(fā)展史

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

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

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

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

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

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

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

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

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

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

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

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

    關(guān)注

    20

    文章

    2992

    瀏覽量

    114795
  • 虛擬機(jī)
    +關(guān)注

    關(guān)注

    1

    文章

    966

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    搭建自己的ubuntu系統(tǒng)之創(chuàng)建ubuntu虛擬機(jī)

    打開VMware軟件,點(diǎn)擊創(chuàng)建新的虛擬機(jī)。進(jìn)入以下界面:選擇自定義,點(diǎn)擊“下一步”。選擇對應(yīng)VMware版本的兼容性,版本可在幫助->關(guān)于VMware Workstation中
    發(fā)表于 09-25 09:39

    TECS OpenStack資源池虛擬機(jī)網(wǎng)絡(luò)二層地址無法互通的問題處理

    某運(yùn)營商TECS OpenStack使用主機(jī)overlay SDN方案組網(wǎng),運(yùn)維人員在創(chuàng)建虛擬機(jī)測試虛擬機(jī)網(wǎng)絡(luò)狀態(tài)時(shí)發(fā)現(xiàn)問題:在其中一臺主機(jī)上創(chuàng)建兩臺同網(wǎng)段虛擬機(jī),虛擬機(jī)之間二層地址無
    的頭像 發(fā)表于 06-12 09:28 ?477次閱讀
    TECS OpenStack資源池<b class='flag-5'>虛擬機(jī)</b>網(wǎng)絡(luò)二層地址無法互通的問題處理

    hyper 備份,Hyper備份:虛擬機(jī)備份與恢復(fù)

    的解決方案。今天就為大家介紹Hyper備份:虛擬機(jī)備份與恢復(fù)。 ? ?在虛擬化環(huán)境中,備份和恢復(fù)虛擬機(jī)是確保數(shù)據(jù)安全和業(yè)務(wù)連續(xù)性的關(guān)鍵操作。Hyper-V提供了多種備份和恢復(fù)方法,幫助用戶靈活地管理
    的頭像 發(fā)表于 02-08 09:53 ?1230次閱讀
    hyper 備份,Hyper備份:<b class='flag-5'>虛擬機(jī)</b>備份與恢復(fù)

    hyper-v虛擬機(jī),為何需要用hyper-v虛擬機(jī)

    隨著科技的飛速發(fā)展,各類任務(wù)與數(shù)據(jù)量急劇攀升,批量管理恰似航行在信息海洋中的堅(jiān)固燈塔,照亮高效管理的航道。今天小編給大家分享為何需要用hyper-v虛擬機(jī)。 使用Hyper-V虛擬機(jī)的主要原因包括
    的頭像 發(fā)表于 02-07 13:37 ?652次閱讀
    hyper-v<b class='flag-5'>虛擬機(jī)</b>,為何需要用hyper-v<b class='flag-5'>虛擬機(jī)</b>?

    hyper v 上網(wǎng),Hyper-V上網(wǎng):虛擬機(jī)網(wǎng)絡(luò)配置

    大家介紹Hyper-V上網(wǎng):虛擬機(jī)網(wǎng)絡(luò)配置。 ? ?在Hyper-V環(huán)境中,正確配置虛擬機(jī)的網(wǎng)絡(luò)設(shè)置是確保虛擬機(jī)能夠正常訪問外部網(wǎng)絡(luò)的關(guān)鍵。以下是詳細(xì)的Hyper-V虛擬機(jī)網(wǎng)絡(luò)配置指南
    的頭像 發(fā)表于 02-06 10:29 ?3766次閱讀
    hyper v 上網(wǎng),Hyper-V上網(wǎng):<b class='flag-5'>虛擬機(jī)</b>網(wǎng)絡(luò)配置

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

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

    hyper-v 備份,hyper-v怎樣進(jìn)行虛擬機(jī)的創(chuàng)建

    虛擬機(jī)技術(shù)打破了傳統(tǒng)計(jì)算機(jī)的限制,為我們帶來了全新的計(jì)算機(jī)模式。今天給大家介紹hyper-v怎樣進(jìn)行虛擬機(jī)的創(chuàng)建? ? ?hyper-v怎樣進(jìn)行虛擬機(jī)的創(chuàng)建? ? ?使用PowerShell啟用,以
    的頭像 發(fā)表于 02-05 14:54 ?681次閱讀
    hyper-v 備份,hyper-v怎樣進(jìn)行<b class='flag-5'>虛擬機(jī)</b>的創(chuàng)建

    hyper v 刪除,怎么樣刪除hyper-v中的虛擬機(jī)

    對于任何追求卓越運(yùn)營的企業(yè)而言,批量管理如同精密時(shí)鐘的核心齒輪,精準(zhǔn)地調(diào)控著各項(xiàng)業(yè)務(wù)的有序運(yùn)轉(zhuǎn)。今天小編要帶來怎么樣刪除hyper-v中的虛擬機(jī)。 ? ?要?jiǎng)h除Hyper-V中的虛擬機(jī),可以按照以下
    的頭像 發(fā)表于 02-05 13:39 ?1313次閱讀
    hyper v 刪除,怎么樣刪除hyper-v中的<b class='flag-5'>虛擬機(jī)</b>?

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

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

    Ubuntu系統(tǒng)的虛擬機(jī)安裝步驟 如何在Ubuntu系統(tǒng)上編譯軟件

    Ubuntu系統(tǒng)上安裝虛擬機(jī)的步驟 在Ubuntu系統(tǒng)上安裝虛擬機(jī)是一個(gè)相對簡單的過程,通??梢酝ㄟ^安裝VirtualBox或KVM等虛擬化軟件來實(shí)現(xiàn)。以下是使用VirtualBox在Ubuntu
    的頭像 發(fā)表于 12-12 14:36 ?1627次閱讀

    RK3588 SDK入門之虛擬機(jī)配置篇

    前言:接上期,我們已經(jīng)搭建好了RK3588的Ubuntu虛擬機(jī),在正式使用虛擬機(jī)之前,還需要對虛擬機(jī)做一些配置;本篇內(nèi)容將會(huì)對Ubuntu虛擬機(jī)進(jìn)行網(wǎng)絡(luò)配置、apt指令指定源和NTP服
    的頭像 發(fā)表于 11-15 01:06 ?2409次閱讀
    RK3588 SDK入門之<b class='flag-5'>虛擬機(jī)</b>配置篇

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

    虛擬化數(shù)據(jù)恢復(fù)環(huán)境: 一臺虛擬機(jī)從物理機(jī)遷移到ESXI虛擬化平臺,遷移完成后做了一個(gè)快照。虛擬機(jī)上運(yùn)行了一個(gè)SQL Server數(shù)據(jù)庫,記
    的頭像 發(fā)表于 11-12 12:23 ?777次閱讀

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

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

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

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

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

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