亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java JVM內(nèi)存區(qū)域詳解

 更新時間:2021年11月02日 15:27:18   作者:聰明墨菲特  
下面小編就為大家?guī)硪黄趈vm java內(nèi)存區(qū)域的介紹。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

原網(wǎng)頁:JavaGuide

JVM在執(zhí)行Java程序過程中會把它管理的內(nèi)存劃分成若干個不同的數(shù)據(jù)區(qū)域。JDK1.8和之前的版本略有不同,下面會介紹到。

JDK1.8之前

JDK1.8之后:

這其中線程私有的:

  • 虛擬機棧;
  • 程序計數(shù)器;
  • 本地方法棧;

線程共享的:

  • 堆;
  • 方法區(qū);
  • 直接內(nèi)存(非運行時數(shù)據(jù)區(qū)的一部分)

程序計數(shù)器

程序計數(shù)器是一塊較小的內(nèi)存空間,可以看作是當(dāng)前線程所執(zhí)行的字節(jié)碼的行號指示器。字節(jié)碼解釋器工作時通過改變這個計數(shù)器的值來選取下一條需要執(zhí)行的字節(jié)碼指令,分支、循環(huán)、跳轉(zhuǎn)、異常處理、線程恢復(fù)等功能都需要依賴這個計數(shù)器完成。

Java虛擬機棧

與程序計數(shù)器一樣,Java虛擬機棧也是線程私有的,它的生命周期和線程相同,描述的是Java方法執(zhí)行的內(nèi)存模型,每次方法調(diào)用的數(shù)據(jù)都是通過棧傳遞的。

Java內(nèi)存可以粗糙的分為堆內(nèi)存棧內(nèi)存,其中棧就是現(xiàn)在說的虛擬機棧,或者說是虛擬機棧中局部變量表部分。(實際上,Java虛擬機棧是由一個個棧幀組成,每個棧幀中都擁有:局部變量表、操作數(shù)幀、動態(tài)鏈接、方法出口信息)。

局部變量表主要存放了編譯期可知的各種數(shù)據(jù)類型(boolean、byte、char、short、int、float、long、double)、對象引用(reference類型,它不同于對象本身,可能是一個指向?qū)ο蟮钠鹗嘉恢玫囊弥羔槪部赡苁侵赶蛞粋€代表對象的句柄或其他于此對象相關(guān)的位置)。

方法/函數(shù)如何調(diào)用?

Java??梢灶惐葦?shù)據(jù)結(jié)構(gòu)中棧,Java棧中保存的主要內(nèi)容是棧幀,每一次函數(shù)調(diào)用都會有一個對應(yīng)的棧幀被壓入Java棧,每一個函數(shù)調(diào)用結(jié)束后,都會有一個棧幀被彈出。

Java方法有兩種返回方式:

1、return語句。

2、拋出異常。

不管哪種返回方式都會導(dǎo)致棧幀被彈出。

Java虛擬機所管理內(nèi)存中最大的一塊,Java堆是所有線程共享的一塊內(nèi)存區(qū)域,在虛擬機啟動時創(chuàng)建。此內(nèi)存區(qū)域的唯一目的就是存放對象實例,幾乎所有的對象實例以及數(shù)組都在這里分配內(nèi)存。

Java世界中“幾乎”幾乎所有的對象都在堆中分配,但是隨著JTI編譯器的發(fā)展與逃逸分析技術(shù)逐漸成熟,棧上分配、標(biāo)量替換優(yōu)化技術(shù)將會導(dǎo)致一些微妙的變化,所有的對象都分配到對上也漸漸變得不那么“絕對”了。從JDK1.7開始已經(jīng)默認(rèn)開啟逃逸分析,如果某些方法中的對象引用沒有被返回或者未被外面使用(也就是未逃逸出去),那么對象可以直接在棧上分配內(nèi)存。

Java堆是垃圾收集器管理的主要區(qū)域,因此也被稱作GC堆。從垃圾回收的角度,由于現(xiàn)在收集器基本都采用分代垃圾收集算法,所以Java堆還可以細(xì)分為:新生代和老年代;進一步細(xì)致一點還有:Eden空間、From Survivor、To Survivor空間等。進一步劃分的目的是更好地回收內(nèi)存,或者更快地分配內(nèi)存。

在JDK7版本以及JDK7版本之前,堆內(nèi)存通常被分為以下三部分:

1、新生代內(nèi)存

2、老生代

3、永生代

JDK8版本之后,方法區(qū)被移除了,取而代之的是元空間,元空間使用的是直接內(nèi)存。

 大部分情況,對象都會首先在 Eden 區(qū)域分配,在一次新生代垃圾回收后,如果對象還存活,則會進入 s0 或者 s1,并且對象的年齡還會加 1(Eden 區(qū)->Survivor 區(qū)后對象的初始年齡變?yōu)?1),當(dāng)它的年齡增加到一定程度(默認(rèn)為 15 歲),就會被晉升到老年代中。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Java Web請求與響應(yīng)實例詳解

    Java Web請求與響應(yīng)實例詳解

    這篇文章主要介紹了Java Web請求與響應(yīng)實例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • 聊一聊concurrenthashmap的size方法原理

    聊一聊concurrenthashmap的size方法原理

    這篇文章主要介紹了concurrenthashmap的size方法原理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • springboot基于docsify?實現(xiàn)隨身文檔

    springboot基于docsify?實現(xiàn)隨身文檔

    這篇文章主要介紹了springboot基于docsify實現(xiàn)隨身文檔的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 詳解springboot?springsecuroty中的注銷和權(quán)限控制問題

    詳解springboot?springsecuroty中的注銷和權(quán)限控制問題

    這篇文章主要介紹了springboot-springsecuroty?注銷和權(quán)限控制,賬戶注銷需要在SecurityConfig中加入開啟注銷功能的代碼,權(quán)限控制要導(dǎo)入springsecurity和thymeleaf的整合依賴,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-03-03
  • Spring?Data?JPA實現(xiàn)持久化存儲數(shù)據(jù)到數(shù)據(jù)庫的示例代碼

    Spring?Data?JPA實現(xiàn)持久化存儲數(shù)據(jù)到數(shù)據(jù)庫的示例代碼

    Spring Data JPA是Spring基于JPA規(guī)范的基礎(chǔ)上封裝的?套 JPA 應(yīng)?框架,可使開發(fā)者?極簡的代碼即可實現(xiàn)對數(shù)據(jù)庫的訪問和操作。本文我們來了解如何用Spring?Data?JPA框架實現(xiàn)數(shù)據(jù)持久化存儲到數(shù)據(jù)庫,感興趣的可以了解一下
    2022-04-04
  • java 解決Eclipse掛掉問題的方法

    java 解決Eclipse掛掉問題的方法

    本篇文章是對在java中解決Eclipse掛掉問題的方法進行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 如何解決hibernate一對多注解懶加載失效問題

    如何解決hibernate一對多注解懶加載失效問題

    這篇文章主要介紹了解決hibernate一對多注解懶加載失效的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • idea中打開項目時import project和open區(qū)別詳解

    idea中打開項目時import project和open區(qū)別詳解

    本文主要介紹了idea中打開項目時import project和open區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java冒泡排序簡單實現(xiàn)

    Java冒泡排序簡單實現(xiàn)

    這篇文章主要介紹了Java冒泡排序簡單實現(xiàn),具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • JAVA實現(xiàn)深拷貝的幾種方式代碼

    JAVA實現(xiàn)深拷貝的幾種方式代碼

    這篇文章主要給大家介紹了關(guān)于JAVA實現(xiàn)深拷貝的幾種方式,在Java中深拷貝和淺拷貝是用來復(fù)制對象的兩種不同方式,深拷貝會對所有數(shù)據(jù)類型進行拷貝,包括對象所包含的內(nèi)部對象,需要的朋友可以參考下
    2023-09-09

最新評論