自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码上学习

纸上得来终觉浅,绝知此事要躬行

  • 博客(4)
  • 资源 (3)
  • 收藏
  • 关注

原创 volatile的使用优化

在jdk7 之后,由于重排序因素,使用该方法作用失效,仅作知识原理学习著名的Java并发编程大师Doug lea在JDK 7的并发包里新增一个队列集合类LinkedTransferQueue,它在使用volatile变量时,用一种追加字节的方式来优化队列出队和入队的性能。LinkedTransferQueue的代码如下:/** 队列中的头部节点 */private transient fin...

2018-10-22 15:49:19 899

原创 volatile实现内存可见性分析:字节码版本

声明一个volatile变量,并赋值public class VolatileTest { static volatile int i; public static void main(String[] args){ i = 10; }}看看加了volatile之后,编译出来的字节码有什么不同,执行 javap -verbose Volatile...

2018-10-22 15:38:50 2202

原创 CPU指令重排与缓存一致性

程序中CPU计算+与内存交互(读取,赋值),CPU计算速度远远高于与内存交互的速度(好比内存与查数据库)引入缓存提高速度,缓存一致性是保证数据准确性的硬件协议。指令重排无法逾越内存屏障。缓存一致性的实现,先看看x86的cpu缓存结构。1、各种寄存器,用来存储本地变量和函数参数,访问一次需要1cycle,耗时小于1ns;2、L1 Cache,一级缓存,本地core的缓存,分成32K的数据缓存...

2018-10-22 15:08:32 2641

转载 volatile变量内存可见性的原理分析—汇编指令分析

在java虚拟机的内存模型中,有主内存和工作内存的概念,每个线程对应一个工作内存,并共享主内存的数据,下面看看操作普通变量和volatile变量有什么不同:1、对于普通变量:读操作会优先读取工作内存的数据,如果工作内存中不存在,则从主内存中拷贝一份数据到工作内存中;写操作只会修改工作内存的副本数据,这种情况下,其它线程就无法读取变量的最新值。2、对于volatile变量,读操作时JMM会把工作...

2018-10-22 14:52:31 1119 3

zookeeper客户端 图形化界面

zookeeper客户端 图形化界面zookeeper客户端 图形化界面zookeeper客户端 图形化界面zookeeper客户端 图形化界面zookeeper客户端 图形化界面

2018-04-08

dubbo—2.5.4

dubbo_2.5.4版本dubbo_2.5.4版本dubbo_2.5.4版本dubbo_2.5.4版本dubbo_2.5.4版本

2018-04-08

空空如也

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

TA关注的人

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