當前位置:首頁 » 服務存儲 » JAVA對象名存儲的是什麼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

JAVA對象名存儲的是什麼

發布時間: 2022-07-10 04:43:26

❶ 運行時java對象在內存中是什麼樣子的

JAVA對象是在堆中存儲的, 它在內存中的地址被存儲在一個或多個變數當中,類似於C中的指針,通過這些變數來操作對象, 對象理論上是不能獨立存在的,可以有多個變數存有它的地址,但不能沒有變數存它的地址,一旦沒有變數存有它的地址,就沒法對它進行操作, 對於程序運行來說,它就成了內存垃圾,正常情況下會被JAVA垃圾收集器給清除(少數異常情況可能回收不掉)

❷ java中對象名代表對象的引用還是對象的內存實體

對象實際上是存放在內存中一個叫堆的地方
而對象名是指向該內存地址的一個指針

❸ JAVA集合類存儲的是一個對象的哪部分

一個對象有屬性有方法,new這個對象的時候內存中就存在了這個對象,這個對象在內存中有一個地址方便我們找到他。那麼向一個集合中添加這對象的時候其實是添加這個對象在內存中的地址。也就是說我們在遍歷集合的時候其實是挨個查看這個集合中的地址。
那麼,也就是說,通過這個地址我們就能找到你之前new的那個對象,從而對這個對象進行操作。
所以說,你的問題「存儲的是對象的哪一部分」這種說法是完全錯誤的。
當然,有一種情況是例外,就是你寫了一個集合的子類,重新實現了這個集合添加元素的方法,改為了添加某一種類型的某個欄位。這時候才可以說這個集合存儲的是那個對象的某一個屬性。不過這種說法不嚴謹,因為集合只能存對象類型,就算你放基本數據類型進去JDK1.6以上也會自動幫你包裝成對應的對象類型然後存進去。其實存的還是對象。這個對象還是有對應的屬性和方法。

所以,總結下來,你的問題那句話在大部分情況下是錯誤的,在特殊情況下是不嚴謹的。

❹ Java對象存儲到什麼地方

一個對象有屬性有方法,new這個對象的時候內存中就存在了這個對象

❺ java中的對象是怎麼存儲的

stack 區存放函數參數和局部變數;
heap 區存放對象;
data 區存放static 的變數或者字元串常量;
code 區存放類中的方法;
stack 棧 -->放方法的參數 和局部變數.就像這樣
-----------
void test(String[] args){
int xx = 0;// args和 xx在jvm load class時存放在棧中

}

heap 堆 --> 堆要比棧要大得多. 當一個對象對new出來時,該對象放在heap中,對象引用放在棧中.

data區,也就是數據區 -->靜態的變數 和 string的常量.

code 代碼區 --->classloader類載入器載入該class時存放類中的方法.

❻ Java,對象變數里存儲的是什麼

例2,abcd存儲的就ROOM類的對象。如果ROOM裡面定義了其他成員就可以使用這些成員。

❼ java對象數組中存放的其實是對象的指針對嗎

你可以這樣理解,其實Java虛擬機內部也確實把它當作指針處理的,這些數組對象存放的是地址,一般地址是存放在棧內存裡面的,地址指向對內存中的對象。
可以這么理解,但是千萬不要把指針和Java對象混為一談,Java沒有指針的概念,你也無法操作Java虛擬機內部指針的處理,Java數組中存放的其實是對象索引地址,這個對象地址指向對內存中的對象本身。

❽ java對象在內存中存儲的問題。

棧裡面就是放new出的對象的地址以及放那幾個基本類型。堆裡面就是放的你new出來的對象。另外還有個數據池,裡面放的就是你弄出來的字元串,一個字元串只存在於內存中一份,就是擱在這池子里的。就比如你弄個String str1="abc";String str2="abc"; str1==str2;是TRUE

❾ Java的對象的內容在堆內存中的存儲形式是怎樣的

java中數組是以對象形式存在的,棧中存儲的是數組對象的地址(即引用),而對象本身不存放在棧中,而是存放在堆中,使用時通過棧中的引用地址找到堆中的實際對象,這里的引用地址類似於C/C++中的指針。