国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

jvm內(nèi)存區(qū)域

daydream / 1192人閱讀

摘要:在虛擬機(jī)在運(yùn)行過(guò)程中,它的內(nèi)存區(qū)域被分成若干塊,其中包括程序計(jì)數(shù)器虛擬機(jī)棧本地方法棧堆以及方法區(qū)等。如下圖下面將分別介紹以上幾種內(nèi)存區(qū)域的作用程序計(jì)數(shù)器程序計(jì)數(shù)器可以看作是某一線程執(zhí)行的字節(jié)碼的行號(hào)指示器。這是垃圾回收的主要區(qū)域。

在java虛擬機(jī)在運(yùn)行過(guò)程中,它的內(nèi)存區(qū)域被分成若干塊,其中包括程序計(jì)數(shù)器、虛擬機(jī)棧、本地方法棧、堆、以及方法區(qū)等。如下圖

下面將分別介紹以上幾種內(nèi)存區(qū)域的作用:

程序計(jì)數(shù)器
程序計(jì)數(shù)器可以看作是某一線程執(zhí)行的字節(jié)碼的行號(hào)指示器。它用作使每條線程切換后能夠恢復(fù)到正確的執(zhí)行位置,因此這是線程私有的。
如果執(zhí)行的是一個(gè)java方法,計(jì)數(shù)器記錄的就是正在執(zhí)行的字節(jié)碼指令的地址;如果是native方法,那么計(jì)數(shù)器為空(null)。

虛擬機(jī)棧
生命周期與線程相同,與計(jì)數(shù)器一樣是線程私有的。它用于存儲(chǔ)局部變量表、操作數(shù)棧、動(dòng)態(tài)鏈接、方法出口等。

本地方法棧
與虛擬機(jī)棧類似,不同的是這是Native方法的棧。


這是一塊線程共享的內(nèi)存區(qū)域。它唯一的作用是存放對(duì)象實(shí)例。
這是垃圾回收的主要區(qū)域。根據(jù)回收算法,堆可細(xì)分為新生代和老年代。剛剛創(chuàng)建的對(duì)象在新生代中創(chuàng)建,經(jīng)過(guò)多次垃圾回收仍然存活的對(duì)象進(jìn)入老年代。大對(duì)象(需要大量連續(xù)內(nèi)存的java對(duì)象)直接進(jìn)入老年代。

方法區(qū)(永久代)
與堆一樣,這也是線程共享的區(qū)域。它用于存儲(chǔ)已被加載的類信息、常量、靜態(tài)變量、即時(shí)編譯器編譯后的代碼等數(shù)據(jù)。
其中,運(yùn)行時(shí)常量池是方法區(qū)的一部分,,用于存放編譯期生成的字面量和符號(hào)引用。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/71241.html

相關(guān)文章

  • JVM系列(一):深入詳解JVM 內(nèi)存區(qū)域總結(jié)!

    摘要:一內(nèi)存區(qū)域虛擬機(jī)在運(yùn)行時(shí),會(huì)把內(nèi)存空間分為若干個(gè)區(qū)域,根據(jù)虛擬機(jī)規(guī)范版的規(guī)定,虛擬機(jī)所管理的內(nèi)存區(qū)域分為如下部分方法區(qū)堆內(nèi)存虛擬機(jī)棧本地方法棧程序計(jì)數(shù)器。前言 在JVM的管控下,Java程序員不再需要管理內(nèi)存的分配與釋放,這和在C和C++的世界是完全不一樣的。所以,在JVM的幫助下,Java程序員很少會(huì)關(guān)注內(nèi)存泄露和內(nèi)存溢出的問(wèn)題。但是,一旦JVM發(fā)生這些情況的時(shí)候,如果你不清楚JVM內(nèi)存的...

    Aldous 評(píng)論0 收藏0
  • jvm基礎(chǔ)篇一之內(nèi)存區(qū)域

    摘要:堆區(qū)堆是虛擬機(jī)所管理的內(nèi)存中最大的一塊,它是被所有線程共享的一塊內(nèi)存區(qū)域,該區(qū)域在虛擬機(jī)啟動(dòng)的時(shí)候創(chuàng)建。 運(yùn)行時(shí)數(shù)據(jù)區(qū)域 ? ?想要了解jvm,那對(duì)其內(nèi)存分配管理的學(xué)習(xí)是必不可少的;java虛擬機(jī)在執(zhí)行java程序的時(shí)候會(huì)把它所管理的內(nèi)存劃分成若干數(shù)據(jù)區(qū)域。這些區(qū)域有著不同的功能、用途、創(chuàng)建/銷毀時(shí)間。java虛擬機(jī)所分配管理的內(nèi)存區(qū)域如圖1所示 程序計(jì)數(shù)器 ? ?程序計(jì)數(shù)器是一塊比較...

    Zachary 評(píng)論0 收藏0
  • 萬(wàn)萬(wàn)沒(méi)想到,JVM內(nèi)存結(jié)構(gòu)的面試題可以問(wèn)的這么難?

    摘要:方法區(qū)在實(shí)際內(nèi)存空間站可以是不連續(xù)的。這一規(guī)定,可以說(shuō)是給了虛擬機(jī)廠商很大的自由。但是值得注意的是,堆其實(shí)還未每一個(gè)線程單獨(dú)分配了一塊空間,這部分空間在分配時(shí)是線程獨(dú)享的,在使用時(shí)是線程共享的。 在我的博客中,之前有很多文章介紹過(guò)JVM內(nèi)存結(jié)構(gòu),相信很多看多我文章的朋友對(duì)這部分知識(shí)都有一定的了解了。 那么,請(qǐng)大家嘗試著回答一下以下問(wèn)題: 1、JVM管理的內(nèi)存結(jié)構(gòu)是怎樣的? 2、不同的...

    CloudwiseAPM 評(píng)論0 收藏0
  • JVM 探究(一):JVM內(nèi)存模型概念模型

    摘要:作為一個(gè)程序員,不了解內(nèi)存模型就不能寫出能夠充分利用內(nèi)存的代碼。程序計(jì)數(shù)器是在電腦處理器中的一個(gè)寄存器,用來(lái)指示電腦下一步要運(yùn)行的指令序列。在虛擬機(jī)中,本地方法棧和虛擬機(jī)棧是共用同一塊內(nèi)存的,不做具體區(qū)分。 作為一個(gè) Java 程序員,不了解 Java 內(nèi)存模型就不能寫出能夠充分利用內(nèi)存的代碼。本文通過(guò)對(duì) Java 內(nèi)存模型的介紹,讓讀者能夠了解 Java 的內(nèi)存的分配情況,適合 Ja...

    cnTomato 評(píng)論0 收藏0
  • JVM內(nèi)存模型與運(yùn)行時(shí)數(shù)據(jù)區(qū)域

    摘要:內(nèi)存模型和運(yùn)行時(shí)數(shù)據(jù)區(qū)域的關(guān)系主內(nèi)存對(duì)應(yīng)著堆,工作內(nèi)存對(duì)應(yīng)著棧。在的單例模式中有運(yùn)用到二運(yùn)行時(shí)數(shù)據(jù)區(qū)域內(nèi)存區(qū)域因?yàn)榈倪\(yùn)行時(shí)數(shù)據(jù)區(qū)域一直在改善,所以不同版本之間會(huì)有不同。 一、java內(nèi)存模型 showImg(https://segmentfault.com/img/remote/1460000016694250?w=1810&h=941); java定義內(nèi)存模型的目的是:為了屏蔽各種...

    canopus4u 評(píng)論0 收藏0
  • Java GC

    摘要:對(duì)字節(jié)碼文件進(jìn)行解釋執(zhí)行,把字節(jié)碼翻譯成相關(guān)平臺(tái)上的機(jī)器指令。使用命令可對(duì)字節(jié)碼文件以及配置文件進(jìn)行打包可對(duì)一個(gè)由多個(gè)字節(jié)碼文件和配置文件等資源文件構(gòu)成的項(xiàng)目進(jìn)行打包。和不存在永久代這種說(shuō)法。 Java技術(shù)體系 從廣義上講,Clojure、JRuby、Groovy等運(yùn)行于Java虛擬機(jī)上的語(yǔ)言及其相關(guān)的程序都屬于Java技術(shù)體系中的一員。如果僅從傳統(tǒng)意義上來(lái)看,Sun官方所定義的Jav...

    justCoding 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<