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

資訊專欄INFORMATION COLUMN

Java堆和棧

Rango / 1209人閱讀

摘要:每個棧中的數據原始類型和對象引用都是私有的,其他棧不能訪問。棧分為三個部分基本類型變量區執行環境上下文操作指令。它用于存儲已經被虛擬機加載的類信息常量靜態變量即時編譯器編譯后的代碼等數據。

Java的JVM的內存可分為三個區:堆(heap)、棧(stack)、方法區(method).

每個線程包含一個棧區,棧中只保存方法中(不包括對象中的成員變量)的基礎數據類型和自定義對象的引用,對象都存放在堆區中。
每個棧中的數據(原始類型和對象引用)都是私有的,其他棧不能訪問。
棧分為三個部分:基本類型變量區、執行環境上下文、操作指令。

堆區

存儲的全部是對象實例,每個對象都包含一個與之對應的class信息(class信息存放在方法區)
jvm只有一個堆區被所有線程共享,堆中不存放基本類型和對象引用,只存放對象本身,幾乎所有的對象實例和數組都在堆中分配。

方法區

又叫靜態塊,跟堆一樣,被所有的線程共享。它用于存儲已經被虛擬機加載的類信息、常量、靜態變量、即時編譯器編譯后的代碼等數據。

方法區里存的都是類型信息,也就是類的信息,而類的信息又包括以下內容:
類的全限定名(類的全路徑名)
類的直接超類的全限定名(如果這個類是Object,則它沒有超類)
這個類是類型(類)還是接口
類的訪問修飾符,如public、abstract、final等
所有的直接接口全限定名的有序列表(假如它實現了多個接口)
常量池
字段、方法信息、類變量信息(靜態變量)裝載該類的裝載器的引用(classLoader)、類型引用(class)

Java中的成員變量存儲在堆中(非static,非final)

參考鏈接

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/68484.html

相關文章

  • 對于JVM,你就只知道和棧嗎?

    摘要:下面的截圖內容來自從規范我們可以看到,規范要求的運行時數據區域有程序計數器虛擬機棧堆方法區本地方法棧運行時常量池這及部分。查了一下,還是沒有查到官方對于運行時數據區域的說明,但是許多博客都指出將字符串常量池移動到了堆中。 不少java程序員一提JVM運行時數據區域,就會說堆和棧,當然也有java程序員給出方法區、虛擬機棧、本地方法棧、堆、程序計數器這個答案,但是還有人給出永久代、虛擬機...

    王笑朝 評論0 收藏0
  • JAVA和棧的區別

    摘要:堆內存主要作用是存放運行時創建的對象。堆內存用來存放由創建的對象和數組,在堆中分配的內存,由虛擬機的自動垃圾回收器來管理。這也是比較占內存的原因,實際上,棧中的變量指向堆內存中的變量,這就是中的指針 堆:(對象) 引用類型的變量,其內存分配在堆上或者常量池(字符串常量、基本數據類型常量),需要通過new等方式來創建。 堆內存主要作用是存放運行時創建(new)的對象。(主要用于存放對象,...

    RyanQ 評論0 收藏0
  • 萬萬沒想到,JVM內存結構的面試題可以問的這么難?

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

    CloudwiseAPM 評論0 收藏0
  • 和棧

    摘要:百度百科上對堆和棧進行了對比分析堆棧空間分配棧操作系統由操作系統自動分配釋放,存放函數的參數值,局部變量的值等。堆棧緩存方式棧使用的是一級緩存,他們通常都是被調用時處于存儲空間中,調用完畢立即釋放。顯然,堆的效率比棧要低得多。 相信很多程序員對于堆和棧的概念,總是感覺很朦朧,感覺在哪里聽過見過,并沒有深交。 在計算機領域,堆棧是一個不容忽視的概念,我們編寫的C語言程序基本上都要用到。但...

    lscho 評論0 收藏0

發表評論

0條評論

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