『壹』 java中方法區是不是堆的一部分
可以說是堆的邏輯部分,但是它有一個別名為Non-Heap(非堆),目的就是為了將其與Java堆區分開。
『貳』 java中堆區中的永久代是不是就是所謂的方法區
方法區:線程共享的,用於存放被虛擬機載入的類的元數據信息:如常量、靜態變數、即時編譯器編譯後的代碼。也稱之為永久代。
『叄』 Java堆的結構是什麼樣子的什麼是堆中的永久代
Java堆是Java虛擬機所管理的內存中最大的一塊。Java堆是被所有線程所共享的一塊內存區域,在虛擬機啟動時創建。此內存區域的唯一目的就是存儲對象實例,幾乎所有的對象實例都在這里分配內存。這一點在Java虛擬機規范中描述是:The heap is the runntime data area from which memory for all class instances and arrays is allocated。也就是說是在Java堆上進行分配實例對象和數組的。
有一種說法是 使用 永久代 來實現方法區。具體可以參考 「深入理解Java虛擬機」中對於堆的介紹