摘要:局部变量保证线程安全 首先来看 这个类的 方法,如下 实际上,这的确是在执行代码逻辑的时候,一种可能的代码重排序变种。假定一开始 值为0,则 为 0 。在 判断的时候, 读取到了其他线程写入的值,因此没有执行计算逻辑,最终返回了 的值,也就是 0 。 阅读全文
posted @ 2020-04-16 20:22 风火1989 阅读(83) 评论(0) 推荐(0) 编辑
摘要:AQS源码详细解读 [TOC] 基础 在讲解AQS之前,有几个额外的知识需要了解。知道了这些,才能明白AQS框架中很多代码的道理。 + CAS相关知识 + 通过标识位进行线程挂起的并发编程范式 + MPSC队列的实现技巧 欢迎加入技术交流群186233599讨论交流,也欢迎关注笔者公众号:风火说。 阅读全文
posted @ 2020-04-01 09:09 风火1989 阅读(352) 评论(1) 推荐(0) 编辑
摘要:理解 Java 内存模型的因果性约束 [TOC] 欢迎讨论 欢迎加入技术交流群186233599讨论交流,也欢迎关注笔者公众号:风火说。 规范理解 这部分的内容比较抽象,首先是一开始的定义,如下 红色下划线的内容应该是理解的关键。首先,E 是一个特定的执行序列,其由指令集合 A 以及用于对集合 A 阅读全文
posted @ 2020-02-29 16:50 风火1989 阅读(82) 评论(0) 推荐(0) 编辑
摘要:高性能Java序列化框架Fse发布 [TOC] 使用场景 将Java对象序列化为二进制数据进行保存,以及二进制数据反向序列化为Java对象,在很多场景中都有应用。比如将对象序列化后离线存储至其他介质,或者存储于Redis这样的缓存之中。 目前常见的有几种框架可以支撑,比如 Hession ,Kryo 阅读全文
posted @ 2020-02-03 15:04 风火1989 阅读(116) 评论(0) 推荐(0) 编辑
摘要:心跳与超时:高并发高性能的时间轮超时器 [TOC] 引言 在许多业务场景中,我们都会碰到延迟任务,定时任务这种需求。特别的,在网络连接的场景中,常常会出现一些超时控制。由于服务端的连接数量很大,这些超时任务的数量往往也是很庞大的。实现对大量任务的超时管理并不是一个容易的事情。 本章我们将介绍几种用于 阅读全文
posted @ 2020-01-30 17:20 风火1989 阅读(658) 评论(3) 推荐(0) 编辑
摘要:支持内部晋升的无锁并发优先级线程池 [TOC] 引言 在技术群讨论到一个有意思的业务需求,可以描述为: 有一个内部按照优先级进行任务排序的线程池。线程池会优先执行高优先级的任务。随着时间的流逝,线程池内部低优先级的任务的优先级会逐渐晋升变为高优先级,以避免被不断新增的高优先级任务阻塞导致饿死。 考虑 阅读全文
posted @ 2020-01-10 20:07 风火1989 阅读(78) 评论(0) 推荐(0) 编辑
摘要:最终一致性:BASE论文笔记 [TOC] 简述 Base论文是ebay的架构师于2008年提交的一篇论文。主要用来阐述在分布式架构设计下,基于BASE的设计思想和方案。所谓BASE就是basically available(基本的可用性),soft state(软状态,所谓的软状态,指的是暂时的不一 阅读全文
posted @ 2019-12-24 22:42 风火1989 阅读(77) 评论(0) 推荐(0) 编辑
摘要:Activiti架构分析及源码详解 [TOC] 引言 工作流引擎,应用于解决流程审批和流程编排方面等问题,有效的提供了扩展性的支撑。而目前来说,工作流领域也有了相对通行化的标准规范,也就是BPMN2.0。支持这个规范的开源引擎主要有:Activiti,flowable,Jbpm4等。本文着重对Act 阅读全文
posted @ 2019-12-22 00:52 风火1989 阅读(883) 评论(0) 推荐(0) 编辑
摘要:理解OAuth2 [TOC] Oatuh2用来做什么 有这样一种场景,一个用户(假设是QQ),希望让一个第三方的应用(比如说某个论坛),能够得到关于自身的一些信息(唯一用户标识,比如说QQ号,用户个人信息,比如说是一些基础资料,昵称和头像等)。但是在获得这些资料的同时,却也不能提供用户名和密码之类的 阅读全文
posted @ 2019-12-02 20:30 风火1989 阅读(164) 评论(0) 推荐(0) 编辑
摘要:SpringBoot FatJar启动原理 [TOC] 背景 本文会探究下SpringBoot的启动原理。SpringBoot在打包的时候会将依赖包也打进最终的Jar,变成一个可运行的FatJar。也就是会形成一个Jar in Jar的结构。默认情况下,JDK提供的ClassLoader只能识别Ja 阅读全文
posted @ 2019-12-02 20:30 风火1989 阅读(418) 评论(0) 推荐(1) 编辑