自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 深入理解ReentrantLock

java并发ReentrantLock锁分析

2022-11-13 21:17:29 226

原创 深入刨析volatile及内存屏障

指令重排序的意义:JVM能根据处理器特性(CPU多级缓存、多核处理器等)适当的对机器指令进行重排序,使机器指令能更符合CPU的执行特性,最大限度的发挥机器性能。java语言规范规定JVM线程内部维持顺序化语义。即只要程序的最终结果与它顺序化情况的结果相等,那么指令的执行顺序可以与代码顺序不一致,此过程叫指令的重排序。不同硬件实现内存屏障的方式不同,Java内存模型屏蔽了这种底层硬件平台的差异,由JVM来为不同的平台生成相应的机器码。在编译器与CPU处理器中都能执行指令重排优化操作。

2022-11-02 22:53:31 1444 1

原创 深入理解CAS原子操作

CAS是Compare And Swap的缩写,比较与交换,通常指的是这样一种原子操作:针对一个变量,首先比较它的内存值和某个期望值是否相同,如果相同,就给它赋一个新值。}以上伪代码描述了一个由比较和赋值两阶段组成的符合操作。CAS可以看作是他们合并后的整体---一个不可分割的原子操作,并且其原子性是直接在硬件层面得到保障的。CAS可以看作是乐观锁(对比数据库的悲观、乐观锁)的一种实现方式,Java原子类中的递增操作就是通过CAS自旋实现的。

2022-11-02 00:11:14 1345 1

原创 深度剖析Java常量池

深度剖析Java常量池

2022-10-19 22:34:25 2478

原创 为Java开疆拓土的ZGC深度剖析

ZGC(The Z Garbage Collector)是JDK11中推出的一款追求极致低延迟的垃圾收集器,设计目标包括如下:1、停顿时间不超过10ms,JDK16已经达到不超过1ms。2、停顿时间不会随着堆的大小,或者活跃对象的大小而增加。3、支持8MB~4TB级别的堆,JDK15后已经可以支持16TB。这么去想,如果使用ZGC来做JAVA项目,像游戏系统、对STW敏感的证券系统都可以用Java来做(目前都是C或者C++的市场),所以ZGC的出现就是为了抢占其他语言的市场。

2022-10-12 00:05:31 545 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除