1. 程式人生 > >Java中的堆內存與棧內存

Java中的堆內存與棧內存

nbsp 實例 內存 java 隨著 調用 棧內存 sta 靜態方法

1、棧內存用來存放一些基本類型的變量、數組和對象的引用;堆內存主要用來存放一些對象。

2、static變量:靜態變量是static修飾的變量,實例變量是非static修飾的變量。

3、靜態變量與實例變量的區別:

1)靜態變量是隨著類加載時被完成初始化,它可以在內存中僅有一個,且JVM也只會為它分配一次內存,同時所有類的實例都共享靜態變量,可以通過類名來直接訪問。

2)實例變量是隨著實例的,每創建一個實例就會產生一個實例變量,它與該實例同生共死。

4、static方法:

static修飾的方法稱之為靜態方法,可以通過類名直接調用。由於在類加載時就已經存在,它不依賴於任何實例,所以static方法必須實現,不能是抽象方法abstract。

Java中的堆內存與棧內存