- 课程目录
- 课程介绍
-
在线阅读:开篇词 | 怎样才能做好性能调优?
精选高频性能问题,透过 Java 底层源码,提炼出优化思路和它背后的实现原理,最后形成一套“学完就能用的调优方法论”。
-
01 | 如何制定性能调优标准?
专栏更新第1讲,我想和你聊聊好的系统是如何诞生的?性能调优都有哪些标准?
-
02 | 如何制定性能调优策略?
Java高性能系统诞生的前奏,总结一下就是“测试-分析-调优”三步走。
-
03 | 字符串性能优化不容小觑,百M内存轻松存储几十G数据
千里之堤,溃于蚁穴。不要让一个小小的字符串,影响到Java系统的整体性能。
-
04 | 慎重使用正则表达式
一个split()方法如何影响TPS?问题的关键都在这里。
-
05 | ArrayList还是LinkedList?使用不当性能差千倍
从源码角度深入了解ArrayList和LinkedList的实现原理以及各自的特点。
-
加餐 | 推荐几款常用的性能测试工具
熟练掌握一款性能测试工具,是我们必备的一项技能。
-
06 | Stream如何提高遍历集合效率?
使用合理,Stream的简洁与强大将超乎你想象。
-
07 | 深入浅出HashMap的设计与优化
从HashMap的底层实现讲起,带你深度了解他的设计与优化。
-
08 | 网络通信优化之I/O模型:如何解决高并发下I/O瓶颈?
深入了解下Java I/O在高并发、大数据业务场景下暴露出的性能问题,从源头入手,学习优化方法。
-
09 | 网络通信优化之序列化:避免使用Java序列化
一个优秀的序列化框架可以提高系统的整体性能。
-
10 | 网络通信优化之通信协议:如何优化RPC网络通信?
在系统走向微服务化的今天,服务间的通信调优就显得尤为重要。
-
11 | 答疑课堂:深入了解NIO的优化实现原理
深入讲解Tomcat、Netty等通信框架如何通过优化I/O来提高系统性能。
-
12 | 多线程之锁优化(上):深入了解Synchronized同步锁的优化方法
减少锁竞争,是优化Synchronized同步锁的关键。
-
13 | 多线程之锁优化(中):深入了解Lock同步锁的优化方法
充分利用Lock锁的灵活性,通过锁分离的方式来降低锁竞争。
-
14 | 多线程之锁优化(下):使用乐观锁优化并行操作
在高并发场景下,乐观锁没有因竞争造成的系统开销,性能相比悲观锁更胜一筹。
-
15 | 多线程调优(上):哪些操作导致了上下文切换?
在并发程序中,并不是启动更多的线程就能让程序最大限度地并发执行,还要考虑上下文切换带来的系统开销。
-
16 | 多线程调优(下):如何优化多线程上下文切换?
你有没有想过将上下文切换作为系统的性能参考指标,并纳入到服务性能监控中呢?
-
17 | 并发容器的使用:识别不同场景下最优容器
JDK1.1到JDK1.8,Java依据场景的变化实现了同类型的多种容器,今天我们就一一对比总结。
-
18 | 如何设置线程池大小?
线程数量的设置不是凭借简单的估算来决定的,今天我们就来看看究竟有哪些计算方法可以复用。
-
19 | 如何用协程来优化多线程业务?
协程是一种设计思想,不仅仅局限于某一门语言,Java已经可以借助协程框架实现协程了。
-
20 | 答疑课堂:模块三热点问题解答
今天这讲是解答模块三比较集中的一些问题,有关监测上下文切换异常的命令排查工具以及blockingQueue。
-
加餐 | 什么是数据的强、弱一致性?
其实在系统的很多地方都存在数据一致性的相关问题,今天我们主要讨论“并发编程中共享变量的一致性”。
-
21 | 磨刀不误砍柴工:欲知JVM调优先了解JVM内存模型
这讲我们深入学习最基础的内存模型设计,了解其各个分区的作用及实现原理。
-
22 | 深入JVM即时编译器JIT,优化Java编译
这讲介绍运行时编译如何实现对Java代码的优化。
-
23 | 如何优化垃圾回收机制?
这讲重点介绍不同业务场景下的垃圾回收调优策略。
-
24 | 如何优化JVM内存分配?
所有的调优都是有目标性的,JVM内存分配调优也一样。
-
25 | 内存持续上升,我该如何排查问题?
工欲善其事,必先利其器。这讲介绍几种好用且常用的监控和诊断内存工具。
-
26 | 答疑课堂:模块四热点问题解答
这一期答疑课堂精选了11位同学的留言,干货满满,速来围观!
-
27 | 单例模式:如何创建单一对象优化系统性能?
无论是在开源框架,还是在我们的日常开发中,单例模式几乎无处不在。
-
28 | 原型模式与享元模式:提升系统性能的利器
这讲介绍两种模式的适用场景,了解了这些你就可以更高效地使用它们来提升系统性能了。
-
29 | 如何使用设计模式优化并发编程?
这讲介绍几种并发编程中常用的设计模式,用好它们,如虎添翼。
-
30 | 生产者消费者模式:电商库存设计优化
今天介绍生产者消费者模式的几种实现方式,还有其在电商库存中的应用。
-
31 | 装饰器模式:如何优化电商系统中复杂的商品价格策略?
装饰器模式能够实现为对象动态添加功能,还能够实现对象的动态组合。
-
32 | 答疑课堂:模块五思考题集锦
希望你能从作者的答案中找到新的收获。
-
33 | MySQL调优之SQL语句:如何写出高性能SQL语句?
从慢SQL语句的诱因出发,找到最佳调优方法,开启高性能SQL语句的大门。
-
34 | MySQL调优之事务:高并发场景下的数据库事务调优
在功能业务开发时,开发人员往往会为了追求开发速度,习惯使用默认的参数设置来实现业务功能,但其实这是有弊端的。
-
35 | MySQL调优之索引:索引的失效与优化
你有被DBA批评的经历吗?
-
36 | 记一次线上SQL死锁事故:如何避免死锁?
数据库发生死锁的概率并不是很大,一旦遇到了,就一定要彻查具体原因,尽快找出解决方案,老实说,过程不简单。
-
37 | 什么时候需要分表分库?
当业务发展比较迅速的时候,你就要评估分表分库的必要性了。
-
38 | 电商系统表设计优化案例分析
以电商系统中的表结构设计为例,详解在设计表时都需要考虑哪些因素。
-
39 | 数据库参数设置优化,失之毫厘差之千里
MySQL提供了很多可配置参数,利用好它们就可以根据应用和服务器硬件来做定制化数据库服务了。
-
40 | 答疑课堂:MySQL中InnoDB的知识点串讲
InnoDB存储引擎作为最常用的存储引擎之一,充分熟悉它的的实现和运行原理,有助于我们更好地创建和维护数据库表。
-
41 | 如何设计更优的分布式锁?
从性能和可靠性来说,你知道分布式锁的哪种实现方式更好吗?
-
42 | 电商系统的分布式事务调优
论微服务下,分布式事务的重要性。
-
43 | 如何使用缓存优化系统性能?
从前端到服务端,系统讲解各个层级的缓存实现,分析各类缓存的优缺点以及应用场景。
-
44 | 记一次双十一抢购性能瓶颈调优
每年的双十一都是很多研发部门最头痛的节日,期待这一讲的内容能给你更多的启发。
-
结束语 | 栉风沐雨,砥砺前行!
专栏虽已完结,但更新优化不止,你有什么建议或意见想和我说说吗?
-
期末测试 | 有关Java性能调优,你掌握了多少呢?
等你来挑战!
课程介绍
你将获得 深入理解Java底层源码; 活学活用5大主流场景; 实战出发解决常见问题; 学完就用的调优方法论。 讲师介绍 课程介绍 在进行性能测试时,接口响应时间长,吞吐量低; 在高并发下,JVM 中 Full GC 异常,JVM...你将获得
- 深入理解Java底层源码;
- 活学活用5大主流场景;
- 实战出发解决常见问题;
- 学完就用的调优方法论。
讲师介绍
课程介绍
- 在进行性能测试时,接口响应时间长,吞吐量低;
- 在高并发下,JVM 中 Full GC 异常,JVM 堆内存溢出;
- 由于业务增长迅猛,大量读写操作单表单库,造成数据库死锁。
在作者看来,Java 性能调优和学一门编程语言不同,前者无法通过直线式的思维来掌握和应用。他认为,扎实的计算机基础,透过源码看技术本质的良好习惯,善于追问和总结才是做好性能调优的大前提。
因此,在这个专栏里,他将结合自己多年的从业经验,从 Java 应用服务的每一层优化实战出发,精选高频性能问题,透过 Java 底层源码,提炼出优化思路和它背后的实现原理,最后形成一套“学完就能用的调优方法论”,帮助你快速进阶。
具体内容上,专栏共分为七大模块。
模块一,概述。这个模块将为你建立两个标准。一个是性能调优标准,另一个是调优过程标准,为性能调优实战做好准备。
模块二,Java 编程性能调优。这个模块将从基础的数据类型讲起,涉及容器在实际应用场景中的调优,还有现在互联网系统架构中比较重要的网络通信调优。
模块三,多线程性能调优。如何做锁优化?如何优化多线程上下文切换?如何用协程来优化多线程业务?这些问题都会在这个模块重点讲解。
模块四,JVM 性能监测及调优。Java 应用程序是运行在 JVM 之上的,对 JVM 进行调优可以提升系统性能。这个模块将重点讲解 Java 对象的创建和回收、内存分配等问题。
模块五,设计模式调优。设计模式可以优化架构设计,这个模块将结合一些复杂的应用场景,解析设计优化案例。
模块六,数据库性能调优。数据库最容易成为整个系统的性能瓶颈,这个模块会重点解析一些数据库的常用调优方法。
模块七,实战演练场。这个模块将带你进入综合性能问题高频出现的应用场景,综合应用前面六大模块的内容,学习整体调优方法。
课程目录


