內存機制:
Java的內存機制分為堆內存,棧內存,方法區等。
兩者差別:
堆內存主要存放實體對象,用來存放new的對象和數組引用變量的實體對象。由虛擬機自動垃圾回收器管理。
棧內存主要存放基本基本類型的變量。
方法區主要存放一個類的模板和靜態方法。
聲明位置的不同決定儲存位置
在方法中聲明(局部變量):調用方式時在棧中分配空間給變量,結束時釋放棧,體現變量的局限性。
在類中聲明(成員變量):由於作用周期需要,變量存放在堆中。不會因方法銷毀為失效,類似於C中的全局變量。
對於引用變量來說,對應內存所儲存的值是一個引用,是對象的儲存地址,被存放在棧中。