1. 程式人生 > >java變量存儲

java變量存儲

方法 處理 安全 java變量 問題 new int 垃圾回收 多線程

類內部方法外部定義的變量為成員變量,方法內部定義的變量為局部變量。

局部變量為基本數據類型(int,long,string,double等)的存儲在虛擬機棧中,相應的數據也存放在棧中。

局部變量為引用類型(new)的變量本身存儲在虛擬機棧中,相應的引用對象存放在堆中。

成員變量存儲在該類在堆中生成的對象中。

方法的形參同局部變量管理。

局部變量在虛擬機棧中,屬於線程私有,不會出現線程安全問題,隨方法的執行結束消失。

成員變量在堆中,屬於共享內存,會出現線程安全問題,所以在多線程的使用中需要考慮同步處理,在對象引用釋放之後等待垃圾回收處理。

java變量存儲