java 开发 jvm_Java开发人员应了解的JVM流行语
生活随笔
收集整理的這篇文章主要介紹了
java 开发 jvm_Java开发人员应了解的JVM流行语
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java 開發 jvm
本文將與您分享一些JVM“流行語”,它們對于Java開發人員在執行任何JVM性能和垃圾回收調優之前理解和記住非常重要。 本文末尾還提供了一些技巧,包括一些高級性能調優最佳實踐。 將來的文章中將探討有關Oracle HotSpot并發GC收集器(例如CMS和G1)的更多建議。
在繼續閱讀之前,建議您首先熟悉JVM詳細的GC日志。 掌握此JVM數據分析技能至關重要,尤其是與更高級的APM技術結合使用時。
JVM流行語
| 分配率 | 分配給YoungGen空間的Java對象, 又名“短暫”對象。 |
| 促銷率 | Java對象從 YoungGen來 OldGen空間。 |
| 實時數據 | 坐在OldGen空間中的Java對象,也稱為“長壽”對象。 |
| 世界停止收集 | 垃圾收集,例如Full GC,并導致應用程序線程暫時掛起,直到完成。 |
首先,JVM GC日志
- 提供有關Java堆和GC活動的開箱即用的詳細信息。
- 使用GCMV (GC內存可視化工具)之類的工具來評估JVM暫停時間和內存分配率,而不是手動確定世代大小。
分配和促銷價格
- 跟蹤您的應用程序分配和提升率對于最佳GC性能很重要。
- 作為JVM人機工程學的一部分,保持GCAdaptiveSizePolicy處于活動狀態。 僅在需要時手動調音。
實時數據計算
- 完整GC后,您的實時應用程序數據對應于OldGen占用率。
- 至關重要的是,您的OldGen容量必須足夠大,以舒適地保存您的實時數據,并限制主要收集的頻率以及對應用程序負載吞吐量的影響。
建議:首先,調整Java Heap的大小,以便在Full GC之后達到大約50%的OldGen占用量或占用率,為某些較高的負載情況(故障轉移,峰值,繁忙的業務時段等)留有足夠的緩沖區。 。
- *熱點* :注意OldGen內存泄漏!
- 什么是Java中的內存泄漏? 隨著時間的推移,實時數據不斷增加 …
實時數據深入研究
- JVM GC日志很棒……但是如何檢查實時數據呢?
- Java堆直方圖快照和堆轉儲分析是功能強大且行之有效的方法,可以更好地了解您的應用程序實時數據。
- Java事件探查器解決方案和工具(例如Oracle Java Mission Control和Java Visual VM)提供了用于深度Java堆檢查和性能分析的高級功能,包括跟蹤應用程序內存分配。
世界各地的收藏:GC開銷
- YoungGen收集的價格較低,但要注意分配率過高。
- 建議最初將YoungGen的大小(JVM默認)設置為堆大小的1/3。
- 請記住:YoungGen和OldGen集合都是世界停止的事件!
- PermGen和Metaspace(JDK 1.8+)是在Full GC期間收集的,因此,跟蹤Class元數據足跡和GC頻率非常重要。
最后的話語和建議
最佳實踐
- 最佳的Java性能不僅與Java有關……從各個角度進行探討。
- 始終依靠事實而非猜測。
- 首先要關注全局調整項,而過早要進行細粒度的優化。
- 在適用時執行性能和負載測試。
- 充分利用可靠的工具和故障排除技術。
避免
- 有許多可能的JVM參數:不要過度調整JVM!
- 您總是擔心自己不了解的內容:良好的應用程序知識>無需恐懼>更好的調優建議。
- 永遠不要以為您的應用程序性能是最佳的。
- 不要試圖立即解決所有問題,而要逐步進行調整。
- 不要感到困惑,要專注于性能問題的根本原因而不是癥狀。
- 過度嘗試和錯誤的方法:猜測的癥狀。
翻譯自: https://www.javacodegeeks.com/2015/07/jvm-buzzwords-java-developers-should-understand.html
java 開發 jvm
總結
以上是生活随笔為你收集整理的java 开发 jvm_Java开发人员应了解的JVM流行语的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 沙市电脑城3060显卡(mcn传媒是什么
- 下一篇: wps下载免费版电脑版(wps下载免费完