《深入分析JavaWeb技術內幕》讀書筆記六.JVM

JVM體系結構

何謂JVM

JVM體系結構詳解

類加載器
執行引擎
Java內存管理

JVM工作機制

機器如何執行代碼

JVM爲何選擇基於棧的架構

執行引擎架構設計

JIT:JVM在執行時會記錄某個方法的執行次數,如果執行的次數到了一個閾值(客戶端一般是1500次,服務器一般是10000次)時,JIT就會編譯這個方法爲本地方法

JVM內存管理

衆所周知Java是不需要程序員管理內存的,因爲強大的JVM會自動幫我們完成內存的分配和回收。但我們最好還是對Java如何管理內存有一定了解,以免遇到問題時一籌莫展。

相關知識

物理內存與虛擬內存
內核空間用戶空間

Java中需要分配內存的地方

Java堆,線程,類和類加載器,NIO,JNI。

JVM內存結構

PC寄存器
Java
方法區
運行時常量池
本地方法棧

JVM內存分配策略

JVM內存回收策略

內存回收策略可以分爲兩種,靜態內存分配和回收動態內存分配和回收
靜態內存分配和回收一般針對原生數據類型(int,long)。動態內存分配和回收一般針對Java對象。

如何檢測垃圾

不可達對象會被回收

基於分代垃圾收集算法

基於分代的堆結構
典型垃圾收集算法
這一部分爲個人補充。
Mark-Sweep(標記-清除)算法
Copying(複製)算法
Mark-Compact(標記-整理)算法
Generational Collection(分代收集)算法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章