文章目錄
- 方法區
- 棧
- 堆·棧·方法區的互動關系
方法區
方法區(亮色):所有線程共享,存在垃圾回收。
類的結構資訊:模闆。
類裝載器,把class檔案代表的Class裝載到了方法區。
天上飛的是理念(方法區),落地的是實作(永久代,元空間)。
棧
棧管運作,堆管存儲。
引入:當我們出異常的時候,是列印棧的運作軌迹,如下:
工作與學校的差別,如上。
java中,方法就可以了解為棧幀。一個一個的棧幀,可以了解為一個一個的方法被壓棧。
方法被壓棧,方法的入參,出參,方法内的局部變量,也被壓棧了。
父幀存儲的是父幀的方法索引,這種指向的關系,可以了解為表現在pc寄存器裡面。棧是可以被壓爆:棧溢出。方法的加載把棧給撐爆了。這算是錯誤,并不是異常!
看一下異常的繼承樹:
棧溢出屬于error:看下方的繼承樹。
堆·棧·方法區的互動關系
hotspot,是sun公司實作的jdk的接口,實作了規範。