摘要: 前言 CAS,即 Compare And Swap(比较与交换),是一种无锁算法,基于硬件原语实现,能够在不使用锁的情况下实现多线程之间的变量同步。jdk中的java.util.concurrent.atomic包中的原子类就是通过CAS来实现了乐观锁。 CAS算法过程 算法涉及到三个操作数: 需要 阅读全文
posted @ 2019-09-03 21:26 源码复兴号 阅读(1952) 评论(0) 推荐(0) 编辑
摘要: 前言 Java内存模型(Java Memory Model,简称JMM),即Java虚拟机定义的一种用来屏蔽各种硬件和操作系统的内存访问差异,以实现让java程序在各种平台下都能够达到一致的内存访问效果的内存模型。本篇文章大致涉及到五个要点:Java内存模型的基础,主要介绍JMM抽象结构;Java内 阅读全文
posted @ 2019-09-03 20:43 源码复兴号 阅读(1065) 评论(1) 推荐(2) 编辑
摘要: 你好,我是扫地僧,对java尤其编译器和虚拟机有浓厚兴趣,我是一个渴望通过努力成为技术大牛的理想主义者,相信你也希望自己能够成为技术大佬,欢迎关注我的博客,我们一起成长,共同进步! "1.简书" "2.csdn" "3.知乎专栏" "4.头条号" "5.博客园" "6.思否" "7.开源中国" "8 阅读全文
posted @ 2019-09-03 19:45 源码复兴号 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 前言 当共享变量被声明为volatile后,对这个变量的读/写操作都会很特别,下面我们就揭开volatile的神秘面纱。 1.volatile的内存语义 1.1 volatile的特性 一个volatile变量自身具有以下三个特性: 1. 可见性:即当一个线程修改了声明为volatile变量的值,新 阅读全文
posted @ 2019-09-02 22:37 源码复兴号 阅读(5376) 评论(1) 推荐(3) 编辑
摘要: 在开始这个系列文章之前,先聊一些题外话,说说我为什么要写Java NIO这个系列技术文章(不看完会错失一个亿的) 阅读全文
posted @ 2019-04-10 01:59 源码复兴号 阅读(161) 评论(0) 推荐(0) 编辑