Java 性能调优实战
覆盖 80% 以上 Java 应用调优场景
刘超  前金山软件技术经理
专栏
已完结·共 49 讲
|
5.9w 人已学
|
收藏
LongAdder 在操作后的返回值只是一个近似准确的数值,但是 LongAdder 最终返回的是一个准确的数值, 所以在一些对实时性要求比较高的场景下,LongAdder 并不能取代 AtomicInteger 或 AtomicLong。
来自:14 | 多线程之锁优化(下):使用乐观锁优化并行操作
7 人划过
实际应用中,我们设置初始容量,一般得是 2 的整数次幂。你知道原因吗?
来自:07 | 深入浅出HashMap的设计与优化
7 人划过
MVCC 对普通的 Select 不加锁,如果读取的数据正在执行 Delete 或 Update 操作,这时读取操作不会等待排它锁的释放,而是直接利用 MVCC 读取该行的数据快照(数据快照是指在该行的之前版本的数据,而数据快照的版本是基于 undo 实现的,undo 是用来做事务回滚的,记录了回滚的不同版本的行记录)。
来自:34 | MySQL调优之事务:高并发场景下的数据库事务调优
5 人划过
对所谓的“核心线程”和“非核心线程”一视同仁
来自:18 | 如何设置线程池大小?
5 人划过
GC Roots 是所有对象的根对象,在 JVM 加载时,会创建一些普通对象引用正常对象。这些对象作为正常对象的起始点,在垃圾回收时,会从这些 GC Roots 开始向下搜索,当一个对象到 GC Roots 没有任何引用链相连时,就证明此对象是不可用的。目前 HotSpot 虚拟机采用的就是这种算法。
来自:23 | 如何优化垃圾回收机制?
5 人划过
你知道 StampedLock 没有被广泛应用的原因吗?
来自:13 | 多线程之锁优化(中):深入了解Lock同步锁的优化方法
4 人划过
:在每次调用 select() 函数之前,系统需要把一个 fd 从用户态拷贝到内核态,这样就给系统带来了一定的性能开销。再有单个进程监视的 fd 数量默认是 1024,我们可以通过修改宏定义甚至重新编译内核的方式打破这一限制。但由于 fd_set 是基于数组实现的,在新增和删除 fd 时,数量过大会导致效率降低。
来自:11 | 答疑课堂:深入了解NIO的优化实现原理
3 人划过
当元空间不足时(JDK1.7 永久代不足),也会触发 Full GC;
来自:26 | 答疑课堂:模块四热点问题解答
3 人划过
官方将 Stream 中的操作分为两大类:中间操作(Intermediate operations)和终结操作(Terminal operations)。中间操作只对操作进行了记录,即只会返回一个流,不会进行计算操作,而终结操作是实现了计算操作
来自:06 | Stream如何提高遍历集合效率?
3 人划过
SpringCloud 是基于 Http 通信协议(短连接)和 Json 序列化实现的,在高并发场景下并没有优势。
来自:10 | 网络通信优化之通信协议:如何优化RPC网络通信?
3 人划过
*精彩内容为该课程各文章中划线次数最多的内容
免费试读
讲师

刘超

前金山软件技术经理

刘超,前金山软件西山居(国内最早的游戏开发工作室)技术经理,主导游戏支付系统的研发工作,2018 年开始带领技术团队转型微服务架构。曾就职于魅族、平安银行等公司,负责过电商、物流、支付系统的搭建工作,主攻后端架构研发,在高并发业务系统方面,具有丰富的实战经验。
编辑推荐
包含这门课的学习路径

Java工程师

29门课程 154.7w人学习
看过的人还看了
MySQL 实战 45 讲
林晓斌
网名丁奇,前腾讯云数据库负责人

49讲 | 224933 人已学习

¥68¥199
数据结构与算法之美
王争
前 Google 工程师

81讲 | 283798 人已学习

¥68¥199
左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家

119讲 | 180996 人已学习

¥98¥399
Java 核心技术面试精讲
杨晓峰
前 Oracle 首席工程师

44讲 | 125963 人已学习

¥59¥129
Netty 源码剖析与实战
傅健
Netty 源码贡献者、Cisco 高级软件工程师

60讲 | 32930 人已学习

¥59¥129
从 0 开始学架构
李运华
网名“华仔”,前阿里资深技术专家(P9)

66讲 | 152615 人已学习

¥68¥199