先听我说
关于性能调优,我先来说说我的感受。Java 性能调优不像是学一门编程语言,无法通过直线式的思维来掌握和应用,它对于工程师的技术广度和深度都有着较高的要求。
互联网时代,一个简单的系统就囊括了应用程序、数据库、容器、操作系统、网络等技术,线上一旦出现性能问题,就可能要你协调多方面组件去进行优化,这就是技术广度;而很多性能问题呢,又隐藏得很深,可能因为-个小小的代码,也可能因为线程池的类型选择错可归根结底考验的还是我们对这项技术的了解程度,这就是技术深度。
显然,性能调优不是一件容易的事。但有没有什么方法能把这件事情做好呢?接下来跟你分享我所发现市面上最好的性能调优笔记。
共分为7个部分,几乎涵盖了性能调优所能设计的全方面。
概述
Java编程性能调优
- 字符串性能优化不容小觑,百M内存轻松存储几十G数据
- 慎重使用正则表达式
- ArrayList还是LinkedList?使用不当性能差千倍
- Stream如何提高遍历集合效率?
- 深入浅出HashMap的设计与优化
- 网络通信优化之I/O模型:如何解决高并发下I/O瓶颈?
- 网络通信优化之序列化:避免使用Java序列化
- 通信优化之通信协议:如何优化RPC网络通信?
- 深入了解NIO的优化实现原理
- 推荐几款常用的性能测试工具
多线程性能调优
- 多线程之锁优化(上) :深入了解Synchronized同步锁的优化方法
- 多线程之锁优化(中) :深入了解Lock同步锁的优化方法
- 多线程之锁优化(下) :使用乐观锁优化并行操作
- 多线程调优(上) :哪些操作导致了上下文切换?
- 多线程调优(下) :如何优化多线程上下文切换?
- 并发容器的使用:识别不同场景下最优容器
- 如何设置线程池大小?
- 如何用协程来优化多线程业务?
- 什么是数据的强、弱一致性?
JVM性能监测及调优
- 磨刀不误砍柴I:欲知JVM调优先了解JVM内存模型
- 深入JVM即时编译器JT,优化Java编译
- 如何优化垃圾回收机制?
- 如何优化JVM内存分配?
- 内存持续上升,我该如何排查问题?
设计模式调优
- 如何创建单-对象优化系统性能?
- 原型模式与享元模式:提升系统性能的利器
- 如何使用设计模式优化并发编程?
- 生产者消费者模式:电商库存设计优化
- 装饰器模式:如何优化电商系统中复杂的商品价格策略?
数据库性能调优
- MySQL调优之SQL语句:如何写出高性能SQL语句?
- MySQL调优之事务:高并发场景下的数据库事务调优
- MySQL调优之索引:索引的失效与优化
- 记一次线上SQL死锁事故:如何避免死锁?
- 什么时候需要分表分库呢?
- 电商系统表设计优化案例分析
- 数据库参数设置优化,失之毫厘差之千里
- MySQL中InnoDB的知识点串讲
实战演练场
- 如何设计更优的分布式物?
- 电商系统分在式事务调位
- 如何使用缓存来优化系统性能?
- 记次双十一抢购性能瓶颈调忧
资源获取:
大家点赞、收藏、关注、评论啦 、查看微信公众号获取联系方式
精彩专栏推荐订阅:在下方专栏
每天学四小时:Java+Spring+JVM+分布式高并发,架构师指日可待
最后,预祝大家都能在“性能调优”的道路上畅通无阻!!!