这是「死磕P7」系列第 007 篇文章,欢迎大家来跟我一起 死磕 100 天,争取在 2025 年来临之际,给自己一个交代。
什么是性能优化,说白点就是:为了花最少的钱,娶到最漂亮的媳妇呗!
性能优化不是一句话,两句话能实现的,要根据具体情况具体对待,有时候需要加内存,有时候需要加CPU,有时候需要加人,有时候需要删减代码,反正要达到某一个目的,有很多种选择,有一个名言叫做:条条大路通罗马。
当然我们还是希望用最少的资源,实现最好的性能,有时候不一定是最好,至少能够满足特定时候的需要吧,比如双十一要来了,压力会增大N倍,机器资源有限的情况下,大家伙把程序性能优化优化。
说到 JVM 的性能优化,无非就是一些常用内存区域配置,启动的参数配置,还有就是结合线上运行的情况排查哪部分代码比较低效,哪里死锁了,哪个部分耗时较长等等有针对性的进行解决。
要想性能得到优化,根据经验,升级 JVM 版本是最直接的方法,大家可以参考我之前的压测文章(往前翻一番,有更多有价值的文章哟)
调优一定要有目的性,要有数据化衡量标准,比如当前程序的 tps 是多少,希望达到多少,当前内存占用是多少,是否可以降低一点占用,当前的响应时间是多少,能否降低延迟等等,没有数据化量化参考的优化是无意义的,程序好不好,只有跑起来才知道,是骡子是马,拉出来溜溜。
俗话说:知己知彼百战百胜,如果你不知道你的程序运行的是什么样子,那么你也就不可能知道如何去调优它,对于 JVM 调优常用的工具如下:
当然 JDK 还带有一些其他的命令,有些不一定用得上,可以再 $JAVA_HOME/bin
下查看到
今天没有介绍太多东西,偷个懒,凑个数,大家随便看看就好,争取把性能分析这块多探究探究,毕竟是比较实用的东西,别管面不面试吧,自己能真正用上才是王道。
本次的分享到此结束,希望对你有所帮助。
如果你对我分享的内容感兴趣,欢迎扫码关注公众号:新质程序猿,并设置星标,推送更实时哟!