一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Java:JVM虛擬機(jī)的入門知識(shí)

如意 ? 來源:百家號(hào) ? 作者: 愿編程是詩 ? 2020-07-01 11:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Java開發(fā)現(xiàn)在面試越來越難了,進(jìn)大廠必備的JVM、多線程高并發(fā)這都是最基礎(chǔ)的知識(shí)了,今天我們一起來學(xué)習(xí)Java虛擬機(jī)入門。

運(yùn)行時(shí)數(shù)據(jù)區(qū)域

Java虛擬機(jī)在執(zhí)行Java程序的過程中會(huì)把它所管理的內(nèi)存劃分為若干個(gè)不同的數(shù)據(jù)區(qū)域,主要有這么幾個(gè)區(qū)域,并且對(duì)每個(gè)區(qū)域進(jìn)行介紹。

Java:JVM虛擬機(jī)的入門知識(shí)

程序計(jì)數(shù)器

程序計(jì)數(shù)器(Program Counter Register)它是一塊較小的內(nèi)存空間,它是記錄當(dāng)前線程所執(zhí)行到的字節(jié)碼的行號(hào)。因?yàn)橛捎贘ava虛擬機(jī)的多線程是通過線程輪流切換、以及分配處理器執(zhí)行時(shí)間的方式來實(shí)現(xiàn)的,一個(gè)處理器都只會(huì)執(zhí)行一條線程中的指令。為了讓線程切換后能夠恢復(fù)到正常的執(zhí)行位置,所以每一條線程都有一個(gè)獨(dú)立的程序計(jì)數(shù)器,這樣線程之間計(jì)數(shù)器互不影響。

Java:JVM虛擬機(jī)的入門知識(shí)

Java虛擬機(jī)棧

和程序計(jì)數(shù)器一樣是線程私有,它的生命周期是與線程相同的。Java虛擬機(jī)是Java執(zhí)行方法的內(nèi)存模型,在每個(gè)方法執(zhí)行時(shí)都會(huì)同步創(chuàng)建一個(gè)棧幀(Stack Frame),主要是用來存儲(chǔ):局部變量表、操作數(shù)棧、動(dòng)態(tài)鏈接、方法出口等信息。

本地方法棧

本地方法棧就是為虛擬機(jī)使用到的本地(Native) 方法服務(wù)的。

Java堆(Heap)

Java堆是虛擬機(jī)所管理的內(nèi)存中最大的一塊,是所有線程共享的一塊區(qū)域,唯一的目的就是存放對(duì)象實(shí)例,并且是“幾乎”所有的對(duì)象的實(shí)例都是在“Java堆”分配內(nèi)存的。

同時(shí)Java堆也是垃圾收集器管理的內(nèi)存區(qū)域,也稱之為“GC堆”。由于現(xiàn)在基本采用分代回收垃圾器算法,所以Java堆又可以分為:新生代、老年代。

法區(qū)

方法區(qū)也是線程共享的內(nèi)存區(qū)域,主要存儲(chǔ)已被虛擬機(jī)加載的類型信息、常量、靜態(tài)變量、即時(shí)編譯器編譯后的代碼緩存等數(shù)據(jù)。

很多Java程序員都習(xí)慣在 HotSpot虛擬機(jī)上開發(fā)、部署程序,很多人都更愿意把方法區(qū)稱呼為“永久代“。到了 JDK 8,終于完全廢棄了永久代的概念,改用與JRockit、J9一樣在本地內(nèi)存中實(shí)現(xiàn)的元空間(Metaspace)來代替了。注意:這區(qū)域的內(nèi)存回收目標(biāo)主要是針對(duì)常量池的回收和對(duì)類型的卸載。

補(bǔ)充

運(yùn)行時(shí)常量池:它是方法區(qū)的一部分,用于存放編譯期生成的各種字面量與符號(hào)引用,這部分內(nèi)容將在類加載后存放到方法區(qū)的運(yùn)行時(shí)常量池中。對(duì)于初學(xué)者想深入JVM虛擬機(jī)原理,國內(nèi)非常不錯(cuò)的深入理解Java虛擬機(jī)第三版這本,值得Java程序員看的。

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

    關(guān)注

    20

    文章

    2989

    瀏覽量

    109676
  • JVM
    JVM
    +關(guān)注

    關(guān)注

    0

    文章

    160

    瀏覽量

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

    關(guān)注

    1

    文章

    966

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

    某運(yùn)營商TECS OpenStack使用主機(jī)overlay SDN方案組網(wǎng),運(yùn)維人員在創(chuàng)建虛擬機(jī)測(cè)試虛擬機(jī)網(wǎng)絡(luò)狀態(tài)時(shí)發(fā)現(xiàn)問題:在其中一臺(tái)主機(jī)上創(chuàng)建兩臺(tái)同網(wǎng)段虛擬機(jī),虛擬機(jī)之間二層地址無
    的頭像 發(fā)表于 06-12 09:28 ?287次閱讀
    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 ?899次閱讀
    hyper 備份,Hyper備份:<b class='flag-5'>虛擬機(jī)</b>備份與恢復(fù)

    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 ?446次閱讀
    hyper內(nèi)存條,hyper-v 添加<b class='flag-5'>虛擬機(jī)</b>還需要硬盤嗎

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

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

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

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

    虛擬化數(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 ?534次閱讀
    <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ī)的硬盤文件和配置文件存放在一臺(tái)存儲(chǔ)中,該存儲(chǔ)上有一組由4塊硬盤組建的raid5陣列,除此之外
    的頭像 發(fā)表于 10-25 09:26 ?698次閱讀
    <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ù)器通過同品牌某型號(hào)的RAID卡,將4塊STAT硬盤為一組RAID10陣列。上層部署XenServer虛擬化平臺(tái),虛擬機(jī)安裝Windows Server系統(tǒng),每臺(tái)
    的頭像 發(fā)表于 10-21 14:17 ?537次閱讀
    <b class='flag-5'>虛擬機(jī)</b>數(shù)據(jù)恢復(fù)—異常斷電導(dǎo)致XenServer<b class='flag-5'>虛擬機(jī)</b>不可用的數(shù)據(jù)恢復(fù)案例

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

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

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

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

    什么是虛擬機(jī)?什么是虛擬化?

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

    從原理聊JVM(一):染色標(biāo)記和垃圾回收算法

    更好地優(yōu)化自己的代碼,并解決一些潛在的性能問題。 本文及后續(xù)文章將從原理聊起,對(duì)JVM的內(nèi)存分配、GC、編譯等知識(shí)進(jìn)行分析和總結(jié)。 1 JVM運(yùn)行時(shí)內(nèi)存劃分 1.1 運(yùn)行時(shí)數(shù)據(jù)區(qū)域 ?? ? ? 方法區(qū) 屬于共享內(nèi)存區(qū)域,存儲(chǔ)已
    的頭像 發(fā)表于 08-20 15:25 ?514次閱讀
    從原理聊<b class='flag-5'>JVM</b>(一):染色標(biāo)記和垃圾回收算法

    創(chuàng)建ubuntu虛擬機(jī)

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

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

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

    聊聊JVM如何優(yōu)化

    進(jìn)行優(yōu)化。 1.JVM內(nèi)存模型 針對(duì)JAVA8的模型進(jìn)行討論,JVM的內(nèi)存模型主要分為幾個(gè)關(guān)鍵區(qū)域:堆、方法區(qū)、程序計(jì)數(shù)器、虛擬機(jī)棧和本地方法棧。堆內(nèi)存進(jìn)一步細(xì)分為年輕代、老年代,年輕
    的頭像 發(fā)表于 08-05 17:49 ?763次閱讀
    聊聊<b class='flag-5'>JVM</b>如何優(yōu)化