深入理解java虛擬機器-目錄
大概整理一遍,覺得有些亂,還是參照原書那樣顯得條理。本篇只是jvm目錄索引。
第一章
主要介紹java概述,乾貨不多看原文。
第二部分 :自動記憶體管理機制
第二章:java記憶體區域與記憶體溢位異常
第三章 垃圾收集器與記憶體分配策略
第四章 虛擬機器效能監控與故障處理工具
這塊原書作者列舉還有Jconsle等,我沒整理全。
第五章 調優案例分析 :這章還是看書吧。
第三部分 虛擬機器執行子系統
第六章 類檔案結構
第九章 類載入及執行子系統案例與實戰:參看原書
第四部分 程式編譯與程式碼優化
第11章 晚期(執行期)優化,待補充
第五部分 高效併發
此部分認為原書寫的偏簡單,打算獨立出來整理。
相關推薦
深入理解java虛擬機器-目錄
大概整理一遍,覺得有些亂,還是參照原書那樣顯得條理。本篇只是jvm目錄索引。 第一章 主要介紹java概述,乾貨不多看原文。 第二部分 :自動記憶體管理機制 第二章:java記憶體區域與記憶體溢位異常 第三章 垃圾收集器與記憶體分配策略 第四章
《深入理解Java虛擬機器》個人讀書總結——垃圾收集/回收演算法
說起垃圾回收,我估計很多初級java開發(包括之前的我)想到的是這個JVM會幫我管理的啊,我們不太需要去考慮這種事情。但是,當需要排查各種記憶體溢位、記憶體洩漏問題時,當垃圾收整合為系統達到更高併發量的瓶頸的時候,我們就有必要對垃圾回收GC進行了解了。思考GC需要完成的3件事情: 1.
《深入理解Java虛擬機器》個人讀書總結——JAVA虛擬機器記憶體
《深入理解Java虛擬機器》個人讀書總結——JAVA虛擬機器記憶體 最近在讀《深入理解Java虛擬機器》,網上對Java虛擬機器的總結有很多,自己覺得自己也應該記錄一點個人的讀書總結,以便日後複習方便。 隨著開發工作的逐漸深入,對Java的理解不能止步於crud,Java不像C語言
《深入理解Java虛擬機器》個人讀書總結——虛擬機器類載入機制
我們都知道Java虛擬機器是用來執行我們編譯好的.class檔案的,class檔案中夾帶類的各種資訊,虛擬機器要執行這些檔案,第一件事就是要載入到虛擬機器中,這就引出了這次總結的問題——虛擬機器是如何載入這些class檔案的?載入後虛擬機器是怎麼處理檔案中夾帶的資訊的? 類載入機制
深入理解Java虛擬機器總結一虛擬機器效能監控工具與效能調優(三)
深入理解Java虛擬機器總結一虛擬機器效能監控工具與效能調優(三) JDK的命令列工具 JDK的視覺化工具 效能調優 JDK的命令列工具 主要有以下幾種: jps (Java Process Status Tool): 虛擬機器程序
深入理解Java虛擬機器總結一垃圾收集器與記憶體分配策略(二)
深入理解Java虛擬機器總結一垃圾收集器與記憶體分配策略(二) 垃圾回收概述 如何判定物件為垃圾物件 垃圾回收演算法 垃圾收集器詳解 記憶體分配策略 垃圾回收概述 如何判定物件為垃圾物件 引用計數法: 在物件
深入理解Java虛擬機器-OOM分析
OOM即Out Of Memory Error,記憶體溢位。 如果不斷的建立物件,並且這些物件到GC Roots之間有可達路徑,那麼這些物件就不會被垃圾回收機制清楚,當物件數量達到容量限制是就會產生記憶體溢位。 在虛擬機器中,只有程式計數器不會產生OOM,除此之外其他幾個執行時區域都有可
深入理解Java虛擬機器-Eclipse Memory Analyzer 安裝使用說明
Eclipse Memory Analyzer(簡稱MAT)是一個功能豐富且操作簡單的JVM Heap Dump分析工具,可以用來輔助發現記憶體洩漏減少記憶體佔用。 使用 Memory Analyzer 來分析生產環境的 Java 堆轉儲檔案,可以從數以百萬計的物件中快速計算出物件的 Retai
讀薄《深入理解 JAVA 虛擬機器》Java記憶體分配策略
記憶體分配規則不是固定的,取決於當前使用的是哪一種垃圾收集器以及虛擬機器配置。 物件優先在 Eden 上分配 大多數情況下,物件分配在 Eden 上,當記憶體不足的時候觸發一次 Minor GC。 大物件分配進老年代 需要連續記憶體空間的物件,最典型的是很長的字串已經陣列,寫程式的時候應該避免生命週期
讀薄《深入理解 JAVA 虛擬機器》Java記憶體區域
很早之前看了《深入理解 JAVA 虛擬機器》並寫下了讀書筆記。最近在結合一些其他資料整理部落格。希望能幫助到其他人抓住書的重點。 Java執行時資料區域 Java執行時資料區域 白色為執行緒獨佔的,灰色為執行緒共享的。 Java在執行的時候會把他所管理的記憶體劃分為若干區域,經常有人把記憶體區域分為
【深入理解Java 虛擬機器】學習筆記一
目錄 執行時資料區域 根索引演算法 垃圾回收演算法 垃圾收集器 雙親委派模型 JDK命令列工具Jstack 和 JConsole 1、執行時資料區域 執行緒共享:方法區、堆 執行緒私有:虛擬機器棧、本地方法棧、程式計數器 2、根索引演
【Java】「深入理解Java虛擬機器」學習筆記(1) - Java語言發展趨勢
這本書寫的比較早,現在這些功能都已經不同程度的實現了。 1、模組化 JDK9之前的版本都是一個整體,使用者可能只需要使用一個小功能,但他不得不下載整個JDK。不能滿足定製化需求,顯然Java語言的發展因此大大受限。 所以,Sun公司在OpenJDK建立了一個Jigsaw(拼圖)的專案來推動模
學習筆記1:深入理解Java虛擬機器——JVM高階特性與最佳實踐_OOM(記憶體溢位)_虛擬機器引數設定_MAT
eclipse中設定debug標籤頁的vm引數 1,Run->Debug configurations->Java Application 2,選中已經寫好的專案 3,Arguments->VM arguments 4,在VM arguments 裡面就可以對虛擬機器的
學習筆記1:深入理解Java虛擬機器——JVM高階特性與最佳實踐_走進java_java記憶體區域與記憶體溢位異常
第一部分:走進java Java虛擬機器 程式碼在華章下載 jdk釋出了六個命令列工具和兩個視覺化故障處理工具。 推薦書籍 設計原本 領域特定語言 現在著名的Java虛擬機器 hotspot vm(預設) jrockit vm j9 vm jdk sun jdk op
【Java】「深入理解Java虛擬機器」學習筆記(2)-記憶體管理
一、執行時資料區 JVM在執行Java程式的時候,將其執行時資料區劃分為若干不同區域。它們的用途和建立及銷燬的時間不同。 1、程式計數器(Program Counter Register) 是一塊很小的記憶體空間。當執行緒執行的是Java方法,它記錄的是當前正在執行的
深入理解Java虛擬機器筆記---class類檔案魔數,版本,常量池
魔數 每個class檔案的頭4個位元組稱為魔數(Magic Number),其值為:0xCAFEBABE,它的唯一作用是用於確定這個檔案是否為一個能被虛擬機器接受的class檔案。使用魔數而不是副檔名來進行識別主要是基於安全的考慮,因為檔案的副檔名可以隨意地被改動。 版本號
《深入理解Java虛擬機器》讀書筆記4-執行時記憶體區域
Java執行時資料區域 Java執行時資料區域如下圖所示: l 程式計數器:較小的記憶體空間,當前程式所執行的位元組碼的行號指示器。如果執行一個java方法,計數器記錄正在執行的虛擬機器位元組碼指令地址;如果
《深入理解JAVA虛擬機器》JDK的垃圾收集演算法
概念 垃圾收集是很多使用JAVA語言的IT從業者瞭解得比較少的地方。 但是涉及效能時非常重要。大公司面試除了演算法,這部分也是會經常考察的地方。 《深入理解JAVA虛擬機器》一書中講到JVM的垃圾收集演算法和垃圾收集器。 垃圾收集演算法分為: 1、標記清除演算法 通常用在回收老年代
《深入理解JAVA虛擬機器》垃圾回收時為什麼會停頓
停頓現象 很多網上資料都會說到JAVA語言的一個劣勢就是垃圾蒐集時,整個程序會停頓。 到底是不是呢? 答案是確實存在。 為什麼會停頓 垃圾收集的一個前提是要判斷程序中的物件哪些是垃圾記憶體,哪些不是。 怎麼判斷呢,JVM裡面使用了一種叫可達性分析的技術來列舉根節點。 一言以蔽之,
深入理解java虛擬機器(六)位元組碼指令簡介
Java虛擬機器指令是由(佔用一個位元組長度、代表某種特定操作含義的數字)操作碼Opcode,以及跟隨在其後的零至多個代表此操作所需引數的稱為運算元 Operands 構成的。由於Java虛擬機器是面向運算元棧而不是暫存器的架構,所以大多數指令都只有操作碼,而沒有運算元。 位元組碼指令集是一種具有鮮明特點、