靜態(tài)方法可以直接用類名點(diǎn)出來(lái)方法,而普通方法需要?jiǎng)?chuàng)建類的對(duì)象后
才能調(diào)用!靜態(tài)的方法和變量會(huì)調(diào)用時(shí)在內(nèi)存生成一個(gè)唯一的標(biāo)示,你可以
理解成在物理內(nèi)存中給靜態(tài)一個(gè)位子,這樣的話在調(diào)用的時(shí)候可以直接找到
,而且會(huì)節(jié)省內(nèi)存,但是如果你聲明的靜態(tài)過(guò)多的話那么每一個(gè)都會(huì)在內(nèi)存
有一個(gè)位子,那么你就沒(méi)有資源運(yùn)行別的,會(huì)報(bào)內(nèi)存溢出!普通方法是由java
的gc機(jī)制來(lái)控制,可能同一個(gè)對(duì)象或變量在使用的過(guò)程中,這個(gè)時(shí)間的在內(nèi)
存占了一個(gè)位子,而上個(gè)時(shí)間的還沒(méi)有從內(nèi)存中刪除,這樣的話就可能有2個(gè)
一樣的在內(nèi)存中,這個(gè)2個(gè)一樣?xùn)|西只是內(nèi)容值一樣,但是內(nèi)存值不一樣,你
可以用"=="和"equals"來(lái)查看(這個(gè)只適用對(duì)象和String類型).java的gc機(jī)
制會(huì)根據(jù)運(yùn)行時(shí)的內(nèi)存狀態(tài)來(lái)自動(dòng)清除一些用不到變量或?qū)ο?就算你手動(dòng)
調(diào)用gc也是一樣的!
但靜態(tài)方法是始終不釋放的,所以如果不是頻繁使用的方法靜態(tài)之后就會(huì) 占用更多了,根據(jù)情況靈活變通
|
|
來(lái)自: 修行的嘟嘟 > 《軟件開(kāi)發(fā)》