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