摘要: 命令行工具 1. jps 虛擬機進程狀況工具(JVM Process Status Tool) 功能與unix的ps類似:可以列出正在運行的虛擬機進程,并顯示虛擬機執行主類名稱,以及這些進程的本地虛擬機實例的唯一ID。 jps命令格式: jps [options] [hostid] Options:閱讀全文
posted @ 2018-11-06 23:30 shanhm 閱讀(32) 評論(0) 編輯
摘要: 待續閱讀全文
posted @ 2018-11-06 16:40 shanhm 閱讀(0) 評論(0) 編輯
摘要: GC日志分析 每一種收集器的日志形式都是由它們自身的實現所決定,虛擬機設計者為了方便用戶閱讀,將各個收集器的日志都維持一定的共性。 最前面的數字0.097、0.098,代表GC發生的時間,這個數字的含義是Java虛擬機啟動以來經過的秒數。 開頭的[GC、[Full GC是說明這次垃圾收集的停頓類型,閱讀全文
posted @ 2018-11-06 16:38 shanhm 閱讀(89) 評論(0) 編輯
摘要: 待續閱讀全文
posted @ 2018-11-06 16:31 shanhm 閱讀(1) 評論(0) 編輯
摘要: 待續閱讀全文
posted @ 2018-11-06 16:30 shanhm 閱讀(3) 評論(0) 編輯
摘要: 1. 標記 - 清除算法 首先標記出所有需要回收的對象,在標記完成后再統一回收。它的標記過程其實基于上面的可達性分析算法。之所以說這是最基礎的收集算法,是因為后續的收集算法都是基于這種思路并對其不足進行改進而得到的。它的不足有兩個: 標記和清除過程效率不高; 標記清除之后會產生大量不連續的內存碎片,閱讀全文
posted @ 2018-11-06 16:03 shanhm 閱讀(3) 評論(0) 編輯
摘要: java內存運行時的各個部分,其中程序計數器、虛擬機棧、本地方法棧3個區域隨線程而生,隨線程而滅;棧中的棧幀隨著方法的進入和退出而有條不絮地執行著出棧和入棧操作。每一個棧幀中分配多少內存基本上是在類結構確定下來時就已知的(盡管JIT編譯器會進行一些優化,但大體可認為是編譯期可預知的),因此這個幾個區閱讀全文
posted @ 2018-11-06 14:19 shanhm 閱讀(8) 評論(0) 編輯
摘要: 在java虛擬機規范的描述中,除了程序計數器外,虛擬機內存的其他幾個運行時區域都有發生OutOfMemoryError異常的可能。 java堆溢出 java堆用于存儲對象實例,只要不斷的創建對象,并且保證GC Roots到對象之間有可達路徑來避免垃圾回收機制清除這些對象,那么在對象數量達到最大堆得容閱讀全文
posted @ 2018-11-05 09:58 shanhm 閱讀(18) 評論(0) 編輯
摘要: 對象的創建 虛擬機遇到一條new指令時,首先去檢查這個指令的參數是否能在常量池中定位到一個類的符號引用,并且檢查這個符號引用代表的類是否已被加載、解析和初始化過。 在類加載檢查通過后,接下來虛擬機將為新生對象分配內存。對象所需內存的大小在類加載完成后便可完全確定,為對象分配空間的任務等同于把一塊確定閱讀全文
posted @ 2018-11-05 09:40 shanhm 閱讀(8) 評論(0) 編輯
摘要: Java技術體系模塊圖 java虛擬機在執行java程序的過程中會把它所管理的內存劃分為若干個不同的數據區域。這些區域都有各自的用途,以及各自的創建和銷毀時間,有的區域隨虛擬機進程的啟動而存在,有些區域則依賴用戶線程的啟動和結束而建立和銷毀。 程序計數器 是一塊較小的內存空間,它可以看作是當前線程所閱讀全文
posted @ 2018-11-05 02:14 shanhm 閱讀(17) 評論(0) 編輯
耐克篮球多少钱