SF
Java
Java
注册登录
关注博客
注册登录
主页
关于
RSS
【实战Java高并发程序设计6】挑战无锁算法
优优码uu
2016-04-12
阅读 4 分钟
3.4k
我们已经比较完整得介绍了有关无锁的概念和使用方法。相对于有锁的方法,使用无锁的方式编程更加考验一个程序员的耐心和智力。但是,无锁带来的好处也是显而易见的,第一,在高并发的情况下,它比有锁的程序拥有更好的性能;第二,它天生就是死锁免疫的。就凭借这2个优势,就值得我们冒险尝试使用无锁的并发。
【实战Java高并发程序设计5】让普通变量也享受原子操作
优优码uu
2016-03-17
阅读 3 分钟
2.1k
有时候,由于初期考虑不周,或者后期的需求变化,一些普通变量可能也会有线程安全的需求。如果改动不大,我们可以简单地修改程序中每一个使用或者读取这个变量的地方。但显然,这样并不符合软件设计中的一条重要原则——开闭原则。也就是系统对功能的增加应该是开发的,而对修改应该是相对保守的。而且,如果系统里使用到...
【实战Java高并发程序设计 4】数组也能无锁AtomicIntegerArray
优优码uu
2016-03-04
阅读 2 分钟
3.4k
除了提供基本数据类型外,JDK还为我们准备了数组等复合结构。当前可用的原子数组有:AtomicIntegerArray、AtomicLongArray和AtomicReferenceArray,分别表示整数数组、long型数组和普通的对象数组。
【实战Java高并发程序设计 3】带有时间戳的对象引用:AtomicStampedReference
优优码uu
2016-02-29
阅读 3 分钟
4.2k
【实战Java高并发程序设计1】Java中的指针:Unsafe类【实战Java高并发程序设计2】无锁的对象引用:AtomicReference AtomicReference无法解决上述问题的根本是因为对象在修改过程中,丢失了状态信息。对象值本身与状态被画上了等号。因此,我们只要能够记录对象在修改过程中的状态值,就可以很好的解决对象被反复修改导致...
【实战Java高并发程序设计2】无锁的对象引用:AtomicReference
优优码uu
2016-02-18
阅读 3 分钟
5.5k
AtomicReference和AtomicInteger非常类似,不同之处就在于AtomicInteger是对整数的封装,而AtomicReference则对应普通的对象引用。也就是它可以保证你在修改对象引用时的线程安全性。在介绍AtomicReference的同时,我希望同时提出一个有关原子操作的逻辑上的不足。
【实战Java高并发程序设计】连载1–Java中的指针:Unsafe类
优优码uu
2016-02-03
阅读 2 分钟
3.3k
如果你对技术有着不折不挠的追求,应该还会特别在意incrementAndGet() 方法中compareAndSet()的实现。现在,就让我们更进一步看一下它把!public final boolean compareAndSet(int expect, int update) {
如何提高Java并行程序性能
优优码uu
2016-01-13
阅读 1 分钟
4k
在Java程序中,多线程几乎已经无处不在。与单线程相比,多线程程序的设计和实现略微困难,但通过多线程,我们却可以获得多核CPU带来的性能飞跃,从这个角度说,多线程是一种值得尝试的技术。那么如何写出高效的多线程程序呢?
【转】成为Java顶尖程序员 ,看这10本书就够了
优优码uu
2016-01-08
阅读 5 分钟
5.4k
“学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料