摘要:
前言 我们知道volatile关键字的作用是保证变量在多线程之间的可见性,它是java.util.concurrent包的核心,没有volatile就没有这么多的并发类给我们使用。 本文详细解读一下volatile关键字如何保证变量在多线程之间的可见性,在此之前,有必要讲解一下CPU缓存的相关知识, 阅读全文
posted @ 2020-01-07 16:48
朱子威
阅读(562)
评论(0)
推荐(0)
摘要:
背景 在一次项目的性能调优中,发现出现竞争瓶颈,导致在资源未使用满的情况下,TPS已经无法提升。祭起JMC(JAVA MISSON CONTROL)飞行记录器大法后,发现线程集中等待在logback写日志的地方,如下图所示: 由于项目组多线程写如同一个文件日志,导致存在IO竞争,一般解决这种问题有三 阅读全文
posted @ 2020-01-07 14:31
朱子威
阅读(8635)
评论(0)
推荐(0)
摘要:
首先,所有的系统调用都是原子性的。这句话来自TLPI: "All system calls are executed atomically. By this, we mean that the kernel guarantees that all of the steps in a system c 阅读全文
posted @ 2020-01-07 14:29
朱子威
阅读(1838)
评论(1)
推荐(0)
摘要:
1. 为什么是Reactor模式 写多了代码的兄弟们都知道,JAVA代码由于到处面向接口及高度抽象,用到继承多态和设计模式,程序的组织不是按照正常的理解顺序来的,对代码跟踪很是个问题。所以,在阅读别人的源码时,如果不了解代码的组织方式,往往是晕头转向,不知在何处。尤其是阅读经典代码的时候,更是如此。 阅读全文
posted @ 2020-01-07 10:46
朱子威
阅读(1263)
评论(0)
推荐(0)

浙公网安备 33010602011771号