JVM理論-調優-故障分析

深刻理解JVM類文件格式

咱們知道Java最有名的宣傳口號就是:「一次編寫,處處運行(Write Once,Run Anywhere)」,而其平臺無關性則是依賴於JVM, 全部的java文件都被編譯成字節碼(class)文件,而虛擬機只須要認識字節碼文件就能夠了。想要弄懂虛擬機以及類加載機制,這部份內容…

html

JVM診斷調優CheatSheet

來自 颯然Hang in java

java

Java HotSwap Ⅲ-Script/Groovy

本篇隨筆主要講述了在線程序經過腳本或者代碼進行更新的一個例子.
a.在線程序一般會有更改內存數據或者修復錯誤邏輯的需求.
b.更改內存數據則一般是找到要修改的對象,而後直接經過加載更新腳本更新對象數據.
c.更改錯誤邏輯,一般是新寫一個class,繼承出錯的類並覆寫出錯的…

面試

Tip-Java的雙親委派機制

類加載的雙親委派模型 雙親委派模型要求除了頂層的啓動類加載器外,其餘的類加載器都應當有本身的父類加載器。這裏類加載器之間的父子關係通常不會以繼承關係來實現,而是都使用組合關係來複用父加載器的代碼 工做過程: 若是一個類加載器收到了類加載的請求,它首先不會本身去嘗試加載這個類,而…

編程

jvm系列(一):java類的加載機制

類的加載指的是將類的.class文件中的二進制數據讀入到內存中,將其放在運行時數據區的方法區內,而後在堆區建立一個 java.lang.Class對象,用來封裝類在方法區內的數據結構。類的加載的最終產品是位於堆區中的 Class對象, Class對象封裝了類在方法區內的數據結構…

緩存

Reloading Java Classes 101: Objects, Classes and ClassLoaders

Welcome to Turnaround article series from ZeroTurnaround.
In this article we will review how to reload a Java class using a dynamic classlo…

安全

jvm優化—— 圖解垃圾回收

從這篇開始咱們開始探討一些jvm調優的問題。在jvm調優中一個離不開的重點是垃圾回收,當垃圾回收成爲系統達到更高併發量的瓶頸時,咱們就須要對jvm中若是進行「自動化」垃圾回收技術實施必要的監控和調節。 對於調優以前,咱們必需要了解其運行原理,java 的垃圾收集Garbage …

服務器

jvm系列:Java GC 分析

Java GC就是JVM記錄儀,書畫了JVM各個分區的表演。 Java GC(Garbage Collection,垃圾收集,垃圾回收)機制,是Java與C++/C的主要區別之一,做爲Java開發者,通常不須要專門編寫內存回收和垃圾清理代碼,對內存泄露和溢出的問題,也不須要像C…

數據結構

jvm系列(二):JVM內存結構

全部的Java開發人員可能會遇到這樣的困惑?我該爲堆內存設置多大空間呢?OutOfMemoryError的異常到底涉及到運行時數據的哪塊區域?該怎麼解決呢?其實若是你常常解決服務器性能問題,那麼這些問題就會變的很是常見,瞭解JVM內存也是爲了服務器出現性能問題的時候能夠快速的了…

多線程

一次線上 CPU 飆升問題的分析解決

前幾日,下了班在家時忽然收到監控報警,線上一組業務機器 CPU 被打滿至 100%,爲了保持服務的穩定運行,臨時採起了升級配置、加機器等粗暴的方法將當晚扛了過去。 半夜想了下可能的緣由,因爲可能因素太多,不能肯定,次日到公司後,在一臺預發機器上把 Java Mission Co…

併發

JVM系列之Java內存結構詳解

相信大多數Javaer對Java的內存結構都有必定的瞭解,但若是對於Java的內存結構只停留的"堆","棧"中顯然是不夠的。今天來給你們詳細談一談Java的內存區域結構,本文基於 JDK7 的內存結構作講解,JDK8的內存結構加上了metaspace,有些許變更,想詳細瞭解的同…

[[Java] CPU 100% 緣由查找解決](https://juejin.im/entry/59bfa...

CPU 100%確定是出現死鎖,這個時候觀察內存仍是夠用的,可是CPU一直100%,如下幾步解決: 1. 找到進程消耗cpu最大的 2. 打出進程中線程佔用狀況: 3. dump文件: 4. 找到#2步的PID對應的16進制 5. 在#3的dump文件中找到#4對應的線程堆棧(…

JVMTI 和 Agent 實現

呂 晶 和 邱 小俠 深刻 Java 調試體系,第 2 部分

Instrumentation 新功能

做者:胡 睿 和 呂 晶

GC的基本原理


Java 內存模型

在多核時代,如何提升 CPU 的性能成爲了一個永恆的話題,而這個話題的討論主要就是如何定義一個高性能的內存模型,內存模型用於定義處理器的各層緩存與共享內存的同步機制及線程和內存交互的規則。 Java 的世界也有屬於它本身的內存模型,Java 內存模型,即 Java Memory Mode…

BTrace 原理淺析

以前在看 agentzh 的此篇博文動態追蹤技術漫談時,領會到了動態追蹤技術的強大之處,也一直因爲沒法在不重啓線上服務器的狀況下排查線上問題在尋找 Java 中的動態追蹤工具。在公司內部的 JavaEE 性能檢測框架中,咱們使用了 asm 作字節碼注入來作線上性能的監測,沿着這個思路,若是要作到動態追蹤應該是須要作字節碼注入的,可是額外的一點是須要動態加載字節碼替換掉原有的類的。此外,性能監測框架是須要耦合到業務應用中的,沒法作到一個監測工具的靈活性。

後來聽同事提到了 BTrace 這個工具,因而去嘗試了一下。BTrace 是 SUN Kenai 雲計算開發平臺下的一個開源項目,旨在爲 java 提供安全可靠的動態跟蹤分析工具。江南白衣的這篇文章 http://calvin1978.blogcn.com/... 作了比較詳細的描述。

Tip-關於JVM和Hotspot,你也許有這麼幾個容易暈的問題

1.JVM的結構到底有哪些? 快速過一遍JVM的內存結構,JVM中的內存分爲5個虛擬的區域: 堆 ▪ 你的Java程序中所分配的每個對象都須要存儲在內存裏。堆是這些實例化的對象所存儲的地方。是的——都怪new操做符,是它把你的Java堆都佔滿了的! ▪ 它由全部線程共享 ▪ …

Btrace 入門到熟練小工徹底指南

BTrace 是神器,每個須要天天解決線上問題,但徹底不用 BTrace 的 Java 工程師,都是可疑的。

BTrace 的好處,是能夠經過本身編寫的腳本,隨時獲取應用的一切調用信息,而不像原來那樣,不斷的修改代碼,加入 System.out.println(), 而後重啓,而後重啓,而後重啓!!!並且,特別嚴格的約束,保證本身的消耗特別小,只要定義腳本時不做大死,直接在生產環境打開也沒太大影響。

在網上搜索 BTrace 能出來很多文章,都有點舊了,並且不夠詳細,因而決定,從新寫一份。

java 基本數據類型傳遞與引用傳遞區別詳解

Java 的值傳遞和引用傳遞在面試中通常都會都被涉及到,今天咱們就來聊聊這個問題,首先咱們必須認識到這個問題通常是相對函數而言的,也就是 java 中的方法參數,那麼咱們先來回顧一下在程序設計語言中有關參數傳遞給方法(或函數)的兩個專業術語:

按值調用(call by value)

按引用調用(call by reference)

垃圾收集簡史


Java 內存模型

經過對 Java 內存模型的瞭解,加深多線程的併發問題解決方案的理解。

Incremental Mature Garbage Collection Using the Train Algorithm


JVM 1.4.1 中的垃圾收集


JVM內存回收對象及引用分析

自動垃圾回收是Java相較於C++的一個重要的特色,想了解JVM的垃圾回收機制,首先咱們要知道垃圾回收是回收什麼地方的垃圾,這裏的回收主要是指對JVM內存區域的Java堆和方法區的內存的回收。

譯-Java內存管理白皮書

說明 有關java併發能夠看這裏:https://yuedu.baidu.com/ebook... 要學習Java或者任意一門技術,我以爲最好的是從官網的資料開始學習。官網所給出的資料老是最權威最知道來…

說說Java裏的equals(上)

在Java字符串那些事兒一文發表後,朋友給我留言說:比較字符串用equals不就完了唄,幹嗎要用"==",吃飽了撐的,能不能來點實際的。其實在文章裏我是想代表,Java字符串兩種聲明方式在堆內存中不一樣的體現,咱們在寫代碼過程當中,爲了不重複的建立對象,儘可能使用String s1…

jvm 系列 (七):jvm 調優 - 工具篇

jvm 調優 - 工具篇

類和類裝入

Dennis M. Sosnoski Java 編程的動態性,第 1 部分

重讀 JVM

秋招開始了,前面因爲作別的事耽誤了半個月,之前學的東西不用就很容易忘記。因此,此次從新閱讀《深刻理解 JVM 虛擬機》時,想作一個記錄。將碎片的知識整合,方便本身之後閱讀,同時也和你們一塊兒分享。內容中會添加我本身的理解,其中若是有錯誤,歡迎你們指正。 相關閱讀: 1. 重拾數據…

構建Java Agent,而不是使用框架

本文由 ImportNew - 黃小非 翻譯自 javacodegeeks。

JVM調優-學習篇

公司的江南白衣寫了一篇關鍵業務系統的JVM參數推薦(2016熱冬版)的文章,大牛的文章老是須要細細品讀。這篇文章介紹大量的JVM調優參數,內容也比較多,本文只是列出我本身能理解的一些參數,暫時理解不了的參數就只能等之後本身實力到家了,再慢慢補充上來。 IntegerCache有…

相關文章
相關標籤/搜索