成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

daydream / 1191人閱讀

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

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

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

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

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

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


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

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

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/71241.html

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    canopus4u 評論0 收藏0
  • Java GC

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

    justCoding 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<