導航:首頁 > 安裝方法 > 方法區在哪裡

方法區在哪裡

發布時間:2022-01-09 12:07:54

A. java中的方法代碼存在了哪裡

類的實例方法在內存中是只有一份,不過肯定不會是第一個對象中,如果是第一個對象的話,那麼當第一個對象被銷毀的時候,那麼後面的對象就永遠無法調用了...
類的實例方法存在一個專門的區叫方法區,事實上類剛裝載的時候就被裝載好了,不過它們在"睡眠",只是這些方法必須當有對象產生的時候才會"蘇醒".(比如,一個輸出類的成員變數的方法,如果連對象都沒有,何來的輸出成員變數).所以,方法在裝載的時候就有了,但是不可用,因為它沒有指象任何一個對象。

而靜態的又不一樣了,靜態的東西存在靜態區,他們和類是一個等級的,就是說只要類被裝載,它們就可以直接用.(用類名來調用).他們不依賴與任何對象,所以也不能輸出任何對象的成員屬性.(除非成員屬性也是靜態的).

而你最後的一句話也是錯的,"類的所有數據在內存中只有靜態的才又空間".
當然不是,每個對象在new的時候都會在堆區中開辟內存,用來保存對象的屬性和方法.(實際上方法保存的只是方法區的引用,如果保存的是方法本身,那麼試想一下,有多少個對象就得有多少個方法,那麼又和第一點中"實例方法在內存中只有一份拷貝"相矛盾了)

好了,事實上內存圖很復雜和麻煩,算比較深的東西了,很多用JAVA多年的人也不太了解其原理,因為開發也不要用..

更多的問題可以去遠標培訓去問技術老師。

B. java中,靜態方法被調用是,存儲在內存的哪個區域是棧還是放大區還是兩者都有

在JDK8之前,靜態成員(靜態變數和靜態方法)都是存儲在方法區(永久代)中的靜態區中(這里指類被載入後,靜態成員的存儲位置)。但在JDK8之後,永久代被移除了,取而代之的是元空間(metaspace)。但元空間中存儲的主要是.class文件的元數據信息,靜態成員的存儲位置由方法區轉到了堆內存(heap)中。
不過,不管是JDK8,還是更早的版本中,靜態方法的執行(不僅僅是靜態方法,還有普通的成員方法)都是在棧內存(stack)中進行的。每個線程都會在棧內存中開辟一個棧,在調用方法時,對應的方法都會在執行這個方法的線程的棧中創建一個「棧幀」,棧幀中保存了局部變數表(基本數據類型和對象引用)、操作數棧、動態連接和返回地址等信息。等到方法執行完畢,棧幀被銷毀,對應的內存也將被釋放。

C. java中的,堆,棧,還有方法區都是用來放什麼

棧里存放的是值類型(int、float等)的值和引用類型(String、你自己創建的類對象等)在堆中的地址;堆中存放引用類u型的值,如果堆中某個值的地址在棧中沒有被指向,他就會被GC回收。

方法區存儲所有的類和靜態變數。

D. JAVA中方法區是不是堆的一部分

可以說是堆的邏輯部分,但是它有一個別名為Non-Heap(非堆),目的就是為了將其與Java堆區分開。

E. Java方法區和堆分別儲存什麼

靜態變數、常量在方法區,所有方法,包括靜態和非靜態的,也在方法區。堆儲存對象、數組、非靜態變數。

F. 靜態方法和非靜態方法分別在哪個內存區

靜態方法在棧區,在載入初就完成裝載,非靜態方法就是實例方法吧,實例方法在堆區,初始化完成才能使用。

G. java方法區中包含哪些內容,常量池中包含哪些內容

方法區里存儲著class文件的信息和動態常量池,class文件的信息包括類信息和靜態常量池。可以將類的信息是對class文件內容的一個框架,裡面具體的內容通過常量池來存儲。
動態常量池裡的內容除了是靜態常量池裡的內容外,還將靜態常量池裡的符號引用轉變為直接引用,而且動態常量池裡的內容是能動態添加的。例如調用String的intern方法就能將string的值添加到String常量池中,這里String常量池是包含在動態常量池裡的,但在jdk1.8後,將String常量池放到了堆中。

H. 關於java的方法區,為什麼叫方法區,是否與實際用

。。。你去重學下JVM

I. Java的方法區和本地方法區有何不同什麼是Native Method

java的方法區在jdk7及以前是永久代,使用的是虛擬機的內存,而到了jdk8,元空間取代了永久代,使用的是本地的內存。
Native Method是本地方法的意思,非java編寫,比如c/c++,一般用於操作底層的硬體。在java中通過本地方法介面也就是帶native修飾符的方法來調用本地方法。

閱讀全文

與方法區在哪裡相關的資料

熱點內容
蘋果7手機接入點在哪裡設置方法 瀏覽:663
資產評估方法的選擇有哪些 瀏覽:319
左手冰涼的治療方法 瀏覽:609
父母教育子女的最佳方法 瀏覽:548
正確發聲的方法視頻 瀏覽:977
治療心腦血管疾病方法 瀏覽:33
觀賞魚戰爭的原因和解決方法 瀏覽:601
自做生日蛋糕最簡單的方法家庭版 瀏覽:749
手汗蒸的最佳方法 瀏覽:475
點菜寶系統使用方法 瀏覽:622
檢驗絛蟲蟲卵常用的檢查方法 瀏覽:206
比例均勻的訓練方法 瀏覽:756
硅錳合金錳的分析方法 瀏覽:126
土豆做菜的最簡單方法 瀏覽:870
活性炭法檢測氡方法 瀏覽:889
如何提高數學成績的最佳方法小學 瀏覽:125
干鍋包菜製作方法怎麼樣燒才好吃 瀏覽:433
java如何根據傳入參數調方法 瀏覽:521
用什麼方法能緩解口舌乾燥 瀏覽:81
apollo計算方法 瀏覽:800