前言
Java性能调优对于每一个奋战在开发一线的技术人来说,都是老生常谈的问题了。特别当“糙快猛"的开发模式大行其道时,随着系统访问量的增加、代码的臃肿,各种性能问题便会层出不穷。比如,下面这些典型的性能问题,你肯定或多或少都遇到过:
- ✥ 在进行性能测试时,接口响应时间长,吞吐量低;
✥ 在高并发下,JVM中FullGC异常,JVM堆内存溢出;
✥ 由于业务增长迅猛,大量读写操作单表单库,造成数据库死锁。
- ✥ 在进行性能测试时,接口响应时间长,吞吐量低;
制定调休标准
如何制定性能调优标准?
如何制定性能调优策略?
Java 编程性能调优
这个模块将从基础的数据类型讲起,涉及容器在实际应用场景中的调优,还有现在互联网系统架构中比较重要的网络通信调优。
- ❖ 字符串性能优化不容小觑,百M内存轻松存储几十G数据
❖ 慎重使用正则表达式
❖ ArrayList还是LinkList?使用不当性能差千倍
❖ Stream如何提高遍历集合效率?
❖ 深入浅出HashMap的设计与优化
❖ 网络通信优化之I/O模型:如何解决高并发下1/O瓶颈?
❖ 网络通信优化之序列化:避免使用Java序列化
❖ 网络通信优化之通信协议:如何优化RPC网络通信?
❖ 深入了解NIO的优化实现原理
- ❖ 字符串性能优化不容小觑,百M内存轻松存储几十G数据
多线程性能调优
- 如何做锁优化?如何优化多线程上下文切换?如何用协程来优化多线程业务?这些问题都会在这个模块重点讲解。
- ❖ 多线程之锁优化(上): 深入了解Synchronized同步锁的优化方法
❖ 多线程之锁优化(中): 深入了解Lock同步锁的优化方法
❖ 多线程之锁优化(下):使用乐观锁优化并行操作
❖ 多线程调优(上):哪些操作导致了上下文切换?
❖ 多线程调优(下):如何优化多线程上下文切换?
❖ 并发容器的使用:识别不同场景下最优容器
❖ 如何设置线程池大小?
❖ 如何用协程来优化多线程业务?
- ❖ 多线程之锁优化(上): 深入了解Synchronized同步锁的优化方法
JVM性能监测及调优
- Java 应用程序是运行在JVM之上的,对JVM进行调优可以提升系统性能。这个模块将重点讲解Java对象的创建和回收、内存分配等问题。
- ❖ 磨刀不误砍柴工:欲知JVM调优先了解JVM
❖ 深入JVM即时编译器JIT,优化Java编译
❖ 如何优化垃圾回收机制?
❖ 如何优化JVM内存分配?
❖ 内存持续上升,我该如何排查问题?
- ❖ 磨刀不误砍柴工:欲知JVM调优先了解JVM
设计模式调优
- 设计模式可以优化架构设计,这个模块将结合一些复杂的应用场景,解析设计优化案例。
- ❖ 单例模式:如何创建单一对象优化系统性能?
❖ 原型设计与享元模式:提升系统性能的利器
❖ 如何使用设计模式优化并发编程?
❖ 生产者消费者模式:电商库存设计优化
❖ 装饰器模式:如何优化电商系统中复杂的商品价格策略?
- ❖ 单例模式:如何创建单一对象优化系统性能?
数据库性能调优
- 数据库最容易成为整个系统的性能瓶颈,这个模块会重点解析一些数据库的常用调优方法。
- ❖ MySQL调优之SQL语句:如何写出高性能SQL语句?
❖ MySQL调优之事务:高并发场景下的数据库事务调优
❖ MySQL调优之索引:索引的失效与优化
❖ 记一次线上SQL死锁事故:读写分离的必要性
❖ 什么时候需要分表分库?
❖ 电商系统表设计优化案例分析
❖ 数据库参数设置优化,失之毫厘差之千里
❖ MySQL中InnoDB的知识点串讲
- ❖ MySQL调优之SQL语句:如何写出高性能SQL语句?