版权声明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/weixin_43821974/article/details/84893823
JAVA工作原理
JAVA 由四個方面組成
- JAVA 編程語言
- JAVA 類文件格式
- JAVA 虛擬機 ( JVM )
- JAVA 應用程序街口 ( JAVA API )
開發人員編寫 JAVA 代碼( .java 文件),然後將之編譯程字節碼( .class 文件),
將字節碼裝入內存,一旦字節碼進入虛擬機,它就會被解釋器解釋執行。
每個 JVM 都包含:
- 方法區
- JAVA 堆
- JAVA 棧
- 本地方法棧
- 指令計數器
- 其他隱含寄存器
堆內存 ( Heep )
不連續的內存區域。
所有通過 new 創建的對象之內存都在堆中分配,堆的大小受限於系統中有效的虛擬內存。
棧內存 ( Stack )
連續的內存區域
棧頂的地址和棧最大容量是系統預先規定好的。
垃圾回收機制
堆裡聚集了所有由應用程序創建的對象,JAVA 所有釋放都交由垃圾回收器來處理,
gc 除了回收內存以外,另外一個重要工作就是內存的壓縮。