如何优化你的网站性能(一)——GC调优、即时编译JIT

本文探讨了Java程序性能优化,重点关注GC调优和JIT编译。介绍了选择合适GC回收器、监控GC状态、JIT编译器的工作原理及分层编译策略,同时提供了一些关键的JVM调优参数。
摘要由CSDN通过智能技术生成

优化一个java程序的执行有很多种途径,下面分别从代码、并发、缓存、异步、网络、jvm调优等方面一一描述。

GC调优

先说一下经验,就是要不断的去调,选择一个合适的堆大小,再去应用

调优的目的
GC次数够少
GC时间够小

调优原则和步骤
1、大多数的java应用程序不需要GC调优
2、大多数需要GC调优的不是参数问题,是代码问题
3、GC调优是最后的手段,逼不得已才用

调优调的是什么?
第一:选择合适的GC回收器
第二:选择合适的堆大小
第三:选择年轻代在堆中的大小

1、监控GC的状态
2、分析GC结果,判断是否要优化
如果minor GC时间<50ms ,且10s一次,说明年轻代是比较合适的

1、打印GC日志 ,启动时jvm添加参数
-XX:+PrintGCDetails 打印GC日志、
-Xlogger:path 指定日志输出目录
2、通过查看GC日志

[GC (Allocation Failure) [PSYoungGen: 71530K->5114K(71680K)] 71996K->8976K(159232K), 0.0080597 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[GC (Metadata GC Threshold) [PSYoungGen: 61449K->7974K(140288K)] 65310K->11844K(227840K), 0.005669
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值