Java 棧老是和線程關聯在一塊兒,每當建立一個線程時,JVM就會爲這個線程建立一個對應的Java棧,在這個Java棧中又會含有多個棧(Frames),這些棧幀是與每一個方法關聯起來的,每一個運行一個方法就建立一個棧幀會含有一些「內部變量"(在方法內定義的變量)、"操做棧"和"方法返回值"等信息。
java
堆是存儲Java 對象的地方,它是JVM管理 Java 對象的核心存儲區域,堆是 Java 程序員最應該關心的,由於它是咱們的應用程度與內存關係最密切的存儲區域。
程序員
每個存儲在堆中的Java 對象都會是這個對象的類的副本,它會複製包括繼承自它父類的全部非靜態屬性。
spa
堆是被全部 Java 線程所共享的,因此對它的訪問須要注意同步問題,方法和對應的屬性都須要保證一致性。
線程