Java變量和常量的儲存位置
- 類常量和靜態變量:基本類型的常量在運行時常量池中,引用類型的常量(例如字符串)在運行時常量池中保存自堆中的直接引用。靜態變量也是(因為靜態變量必須在類加載的時候就初始化,因為它是可以通過類名訪問的)
- 除靜態變量之外的類變量:類變量只有在對象創建之后才分配內存,所以基本類型的話在堆中的對象中,引用類型的話在堆中、堆中的對象保存引用
- 局部變量:局部變量也是只有對象才有的,但是它在方法中,所以其實它是在棧上的:如果是基本類型,就保存在棧上;如果是引用類型,就保存在堆上,然后在棧中保存一個引用