吴忠躺衫网络科技有限公司

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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2974

    瀏覽量

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

    關(guān)注

    0

    文章

    158

    瀏覽量

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

    關(guān)注

    1

    文章

    937

    瀏覽量

    28426
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    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 ?571次閱讀
    RK3588 SDK<b class='flag-5'>入門</b>之<b class='flag-5'>虛擬機(jī)</b>配置篇

    虛擬化數(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 ?183次閱讀
    <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 ?273次閱讀
    <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 ?246次閱讀
    <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 ?742次閱讀
    <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 ?425次閱讀
    <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)測試和云計(jì)算等多個(gè)領(lǐng)域。即使目前你還不了解它的應(yīng)用,你應(yīng)該也聽過
    的頭像 發(fā)表于 09-04 14:55 ?1205次閱讀

    從原理聊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 ?288次閱讀
    從原理聊<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 ?525次閱讀
    <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 ?525次閱讀
    聊聊<b class='flag-5'>JVM</b>如何優(yōu)化

    什么是虛擬機(jī)虛擬機(jī)真的那么好用嗎?

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

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

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

    虛擬機(jī)的ip地址和主機(jī)一樣嗎

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

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

    由一臺(tái)物理服務(wù)器遷移到ESXI上的虛擬機(jī)虛擬機(jī)遷移完成后做了一個(gè)快照,該ESXI上面一共運(yùn)行了數(shù)十臺(tái)虛擬機(jī)。某天工作人員不小心將快照進(jìn)行了還原,虛擬機(jī)內(nèi)的數(shù)據(jù)還原到了數(shù)年前剛遷移過來
    的頭像 發(fā)表于 02-27 11:54 ?1074次閱讀
    <b class='flag-5'>虛擬機(jī)</b>數(shù)據(jù)恢復(fù)-<b class='flag-5'>虛擬機(jī)</b>還原快照原理和誤還原快照的數(shù)據(jù)恢復(fù)方案
    金臂百家乐注册送彩金| 百家乐官网咋样赢钱| 惠水县| 德州百家乐扑克桌| 租nongcun房看风水做生意的| 百家乐官网波音平台路单| 大发888官方授权网| 百家乐實戰後二穩賺| 尊龙百家乐官网娱乐场开户注册| 菲彩线上娱乐| 梦幻城百家乐的玩法技巧和规则 | 龙门县| 大发888 娱乐平台| 百家乐路单| 大世界百家乐官网的玩法技巧和规则 | 百家乐官网平注常赢玩法更| 百家乐官网三路秘诀| 网络赌博游戏| 大发888官网亚洲线上| 百家乐2号说名书| 做生意讲究风水吗| 奔驰百家乐官网游戏电玩| 达州市| 皇冠现金网怎么样| 新濠峰百家乐的玩法技巧和规则| 百家乐闲拉长龙| 百家乐官网羸钱法| 百家乐官网真人游戏网上投注 | 云鼎百家乐现金网| 百家乐官网玩法规| 百家乐官网现场新全讯网| 六合彩曾道人| 大发888娱乐城可靠吗| 百家乐诀| 真人百家乐怎么对冲| 百家乐官网是个什么样的游戏 | 玩百家乐官网输了| 大发888好不好| 威尼斯人娱乐城返佣| 百家乐槛| 玩百家乐是否有技巧|