Java性能优化之案例分享

一、JVM优化

        1、Stop-The-World机制:简称STW,是在执行垃圾收集算法时,Java应用程序的其它所有线程都被挂起(除了垃圾收集帮助器之外)。Java中的一种全局暂停现象,全局停顿,所有Java代码停止,native代码可以执行,但不能与JVM交互,这些现象多半是由于gc引起的。

        2、Linux调优

        jps -1m

        jstat -gccause pid 3s 300

        3、JVM参数:初始堆内存和最大堆内存设置为相同可以减少堆内存调整带来的性能开销。当内存不够时,会先执行GC操作,只有当GC操作无法释放更多内存时,才会进行扩充。GC操作是需要耗时的,Full GC会引起STW。

        -XX:+UseG1Gc

        -Xmx:4g

        -Xmx:4g

        -Xmn:2g

        -XX:MaxNewsize

        -XX:SurvivorRatio Eden Survivor

        -XX:MetaspaceSize

        -XX:MaxMetaspaceSize

        4、G1调优

        将进入老年代的对象减少到最低

        yonung GC:40ms内

        major gc:STW时间总和100ms内

        full gc:尽可能少,时间1s内

        除了cms和G1外,其余的major gc=full gc

二、打印日志优化

        if(log.isDubugEnable()){}

三、异步MQ优化

        核心逻辑=》非核心逻辑

        核心逻辑=》RocketMQ=》非核心逻辑

四、DB优化

        查询加索引

        单次操作改为批量操作

五、使用高效的数据结构、算法

        布隆过滤器减少无效查询

六、池化技术

        对象池、线程池、连接池

七、缓存

        本地缓存:Caffenine

        分布式缓存:Redis

八、中间件优化

        升级JDK17D带来的GC性能优化

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值