Java性能优化大纲

前言

  • Java性能调优对于每一个奋战在开发一线的技术人来说,都是老生常谈的问题了。特别当“糙快猛"的开发模式大行其道时,随着系统访问量的增加、代码的臃肿,各种性能问题便会层出不穷。比如,下面这些典型的性能问题,你肯定或多或少都遇到过:

    • ✥ 在进行性能测试时,接口响应时间长,吞吐量低;
      ✥ 在高并发下,JVM中FullGC异常,JVM堆内存溢出;
      ✥ 由于业务增长迅猛,大量读写操作单表单库,造成数据库死锁。

制定调休标准

如何制定性能调优标准?
如何制定性能调优策略?

Java 编程性能调优

  • 这个模块将从基础的数据类型讲起,涉及容器在实际应用场景中的调优,还有现在互联网系统架构中比较重要的网络通信调优。

    • ❖ 字符串性能优化不容小觑,百M内存轻松存储几十G数据
      ❖ 慎重使用正则表达式
      ❖ ArrayList还是LinkList?使用不当性能差千倍
      ❖ Stream如何提高遍历集合效率?
      ❖ 深入浅出HashMap的设计与优化
      ❖ 网络通信优化之I/O模型:如何解决高并发下1/O瓶颈?
      ❖ 网络通信优化之序列化:避免使用Java序列化
      ❖ 网络通信优化之通信协议:如何优化RPC网络通信?
      ❖ 深入了解NIO的优化实现原理

多线程性能调优

  • 如何做锁优化?如何优化多线程上下文切换?如何用协程来优化多线程业务?这些问题都会在这个模块重点讲解。
    • ❖ 多线程之锁优化(上): 深入了解Synchronized同步锁的优化方法
      ❖ 多线程之锁优化(中): 深入了解Lock同步锁的优化方法
      ❖ 多线程之锁优化(下):使用乐观锁优化并行操作
      ❖ 多线程调优(上):哪些操作导致了上下文切换?
      ❖ 多线程调优(下):如何优化多线程上下文切换?
      ❖ 并发容器的使用:识别不同场景下最优容器
      ❖ 如何设置线程池大小?
      ❖ 如何用协程来优化多线程业务?

JVM性能监测及调优

  • Java 应用程序是运行在JVM之上的,对JVM进行调优可以提升系统性能。这个模块将重点讲解Java对象的创建和回收、内存分配等问题。
    • ❖ 磨刀不误砍柴工:欲知JVM调优先了解JVM
      ❖ 深入JVM即时编译器JIT,优化Java编译
      ❖ 如何优化垃圾回收机制?
      ❖ 如何优化JVM内存分配?
      ❖ 内存持续上升,我该如何排查问题?

设计模式调优

  • 设计模式可以优化架构设计,这个模块将结合一些复杂的应用场景,解析设计优化案例。
    • ❖ 单例模式:如何创建单一对象优化系统性能?
      ❖ 原型设计与享元模式:提升系统性能的利器
      ❖ 如何使用设计模式优化并发编程?
      ❖ 生产者消费者模式:电商库存设计优化
      ❖ 装饰器模式:如何优化电商系统中复杂的商品价格策略?

数据库性能调优

  • 数据库最容易成为整个系统的性能瓶颈,这个模块会重点解析一些数据库的常用调优方法。
    • ❖ MySQL调优之SQL语句:如何写出高性能SQL语句?
      ❖ MySQL调优之事务:高并发场景下的数据库事务调优
      ❖ MySQL调优之索引:索引的失效与优化
      ❖ 记一次线上SQL死锁事故:读写分离的必要性
      ❖ 什么时候需要分表分库?
      ❖ 电商系统表设计优化案例分析
      ❖ 数据库参数设置优化,失之毫厘差之千里
      ❖ MySQL中InnoDB的知识点串讲

你可能感兴趣的:(Java性能优化大纲)