java對象為null啥意思 Java什么時候?qū)ο筚x值null?
Java什么時候?qū)ο筚x值null?Java類型分為基本類型和引用類型int/char/long等基本類型都有默認值,int 0long 0l類成員變量。沒有設(shè)置默認值。默認值為nullclass p
Java什么時候?qū)ο筚x值null?
Java類型分為基本類型和引用類型
int/char/long等基本類型都有默認值,
int 0
long 0l
類成員變量。沒有設(shè)置默認值。默認值為null
class person{
string name//name。默認值為空。使用時賦值
string Guojia=“China”//國家默認為中國
}
Java對象使用后設(shè)置為null會減少內(nèi)存占用嗎?
首先,Java對象是一個引用變量,它使用兩種內(nèi)存區(qū)域:堆內(nèi)存和堆棧內(nèi)存。Java對象存儲在堆內(nèi)存中,對它們的引用(理解為變量)存儲在堆棧內(nèi)存中。
例如,string STR=new string(“string”)使用兩段內(nèi)存,new string(“string”)存儲在堆內(nèi)存中,STR變量存儲在堆棧內(nèi)存中。
當我們將對象設(shè)置為null(即:STR=null)時,STR變量與堆內(nèi)存中的數(shù)據(jù)斷開連接。GC算法會在必要時回收STR和堆內(nèi)存中的對象,但是我們不能干預(yù)GC的任何回收。
.GC將在正確的時間回收垃圾數(shù)據(jù)。