【基础+实战】JVM原理及优化系列之七:JVM调优注意事项

1. JVM 调优策略 

1.运行模式 
2.内存分配优化 
3.GC 调优 
4.线程调优生产环境

2. JVM配置原则

1.编译器:启动服务器编译器,可以提高效率。 
2.口志输出:开启口志输出,用于跟踪 GC 信息,方便后续进一步优化配置 
3.堆大小:堆最大值按需分配,堆最小值设置为与堆最大值相同 
4.选择合适的垃圾回收器:响应优先的应用首选 CMS 垃圾回收器、高吞吐大型计算应用首选并行垃圾回收器、兼顾响应速度与吞吐量的应月用建议使垃圾收集器。 
5.GC 线程的设定:设置为 CPU 的核数 
6.吞吐率限定:暂设吞吐量为 99 / 1 00 
7.尽可能减少 Full GC 的次数,例如:关闭 Systern.gc ( ) 
8.设置合适的线程栈大小,一般默认大小可满足应用需要。 
9.关闭手动垃圾回收 
10.加快编译,一 X : + Ag 9 ressiveopts <不稳定参数,待验证> 
11.锁机制的性能改善 一 X : + UseBiasedLocking <不稳定参数,待验证>
 

该专题是一个系列,参照了一系列JVM资料,对JVM基础知识做了摘要总结,并结合实战做了总结:

【基础+实战】JVM原理及优化系列之一:JVM体系结构

【基础+实战】JVM原理及优化系列之二:JVM内存管理

【基础+实战】JVM原理及优化系列之三:JVM垃圾收集器

【基础+实战】JVM原理及优化系列之四:JVM参数说明

【基础+实战】JVM原理及优化系列之五:JVM默认设置

【基础+实战】JVM原理及优化系列之六:JVM主要调优参数

【基础+实战】JVM原理及优化系列之七:JVM调优注意事项

【基础+实战】JVM原理及优化系列之八:如何查看JVM参数配置?

【基础+实战】JVM原理及优化系列之九:JVM监控、分析与故障处理实战

【基础+实战】JVM原理及优化系列之十:JVM内存泄漏专题实战

通览该系列文章之后,对JVM会有一个整体的认识,对于JVM问题排查和优化会有一定的帮助,如果想对JVM有更深入的理解和认知,建议深入看一下这本书《Java虚拟机:JVM高级特性与最佳实践(最新第二版)》,网上可以找到pdf版的,大家可以自己百度一下。

 

一、什么是JVM  JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。  Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。二、JVM的组成我们先把JVM这个虚拟机画出来,如下图所示:从这张图中我们可以看出,JVM是运行在操作系统之上的,它与硬件没有直接的交互,我们再来看JVM由哪些部分组成,如下图所示:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诸葛本不亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值