花費 29 ms
使用 jvisualvm 遠程監控 JVM

一、jmx 方式 加上如下啟動參數,以 tomcat 為例,修改 bin\catalina 文件,在開始位置添加 JAVA_OPTS JDK8 后不集成 jvisualvm htt ...

Sat Jul 11 09:14:00 CST 2020 0 10677
Java-JVM 棧幀(Stack Frame)

一、概述 棧幀位置 JVM 執行 Java 程序時需要裝載各種數據到內存中,不同的數據存放在不同的內存區中(邏輯上),這些數據內存區稱作運行時數據區(Run-Time Data Areas)。 ...

Mon Jun 24 08:36:00 CST 2019 3 6014
構建 JVM(HotSpot) 源碼調試環境(OpenJDK8)

原本想在 Windows 下編譯調試,但過程中遇到了諸多錯誤(老是報路徑錯誤。。。),最后只好放棄。 此次記錄調試的方法為 CentOS7 上編譯,Windows 上使用 Clion 遠程調試(也可 ...

Fri Jun 28 05:59:00 CST 2019 2 3371
Java-類加載(類的生命周期)

類從被加載到虛擬機內存開始,到卸載出內存為止。 解析階段在某些情況下可以在初始化后再開始,這是為了支持 Java 語言的運行時綁定。 一、類加載時機 JVM 規范沒有強制約束類加載過程 ...

Wed May 22 22:33:00 CST 2019 0 2310
Java-synchronized 中鎖的狀態及其轉換

synchronized 鎖的優化過程:無鎖 -> 偏向鎖 -> 輕量級鎖 -> 重量級鎖 一、不同鎖對象的狀態表示(需要了解 Java 對象頭) https://wiki ...

Tue Jun 11 00:31:00 CST 2019 0 1645
Windows 10 下編譯 OpenJDK8

只是編譯,不調試。 一、安裝 Cygwin 32 位和 64 位都可以試試。 https://cygwin.com/install.html 把這些裝上(https://hg.openj ...

Sun Mar 29 05:04:00 CST 2020 0 1270
Java-內存模型 synchronized 的內存語義

synchronized 具有使每個線程依次排隊操作共享變量的功能。這種同步機制效率很低,但 synchronized 是其它並發容器實現的基礎。 一、鎖對象及 synchronized 的使 ...

Tue Jun 04 04:09:00 CST 2019 0 891
Java-基於 Instrument 的 Agent

Agent 為 JVMTI 的客戶端。 這里記錄的是基於Java Instrument 的 Agent 實現,還有直接基於 JVMTI 的 Agent 實現。 在 JDK1.5 以后,我們可以使用 ...

Thu Oct 03 09:49:00 CST 2019 0 507
Java-Unsafe

Unsafe 是 sun.misc 包下的一個類,可以直接操作堆外內存,可以隨意查看及修改 JVM 中運行時的數據,使 Java 語言擁有了類似 C 語言指針一樣操作內存空間的能力。 Unsafe ...

Sun Sep 08 01:32:00 CST 2019 0 493

 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM