Java并发编程实战
文章平均质量分 96
Peter_A
这个作者很懒,什么都没留下…
展开
-
Java内存模型
1.内存模型Java内存模型,往往是指Java程序在运行时内存的模型。Java代码是运行在Java虚拟机之上,由Java虚拟机通过解释执行(解释器)或编译执行(编译器)来完成,故Java内存模型,也是指Java虚拟机的运行时内存模型。(1)线程私有区程序计数器:记录当前线程所执行的字节码的行号Java虚拟机栈:方法执行的内存区(每个方法执行时会在虚拟机栈中创建一个栈帧;每个方法从调用至执行完成的原创 2017-05-24 13:58:08 · 370 阅读 · 0 评论 -
Java并发编程实战2-线程安全
1. 定义一个类是线程安全的,是指在被多个线程访问时,类可以持续进行正确的行为。2. WHY我们想要的是线程安全的程序,为什么在线程安全的开始讲线程安全的类呢?编写线程安全的代码,本质上就是管理对状态的访问,而且通常是共享的、可变的状态。我们讨论的的线程安全性,看起来好像是关于代码的,但是我们真正要做的,是在不可控制的并发访问中保护数据。当多个线程访问一个类时,如果不用考虑这些线程在运行时环境下的调原创 2017-05-24 13:59:08 · 506 阅读 · 0 评论 -
Java并发编程实战3-可见性与volatile关键字
1. 缓存一致性问题在计算机中,每条指令都是在CPU执行的,而CPU又不具备存储数据的功能,因此数据都是存储在主存(即内存)和外存(硬盘)中。但是,主存中数据的存取速度高于外存中数据的存取速度(这也就是为什么内存条的价格会高),于是计算机就将需要的数据先读取到主存中,计算机运算完成后再将数据写入到外存中。但是,CPU的计算能力太强了,CPU从主存中读取写入数据的速度还是太慢了,严重影响了计算机的性能原创 2017-05-26 14:35:00 · 552 阅读 · 0 评论