【实战Java高并发程序设计5】让普通变量也享受原子操作
有时候,由于初期考虑不周,或者后期的需求变化,一些普通变量可能也会有线程安全的需求。如果改动不大,我们可以简单地修改程序中每一个使用或者读取这个变量的地方。但显然,这样并不符合软件设计中的一条重要原则——开闭原则。
【实战Java高并发程序设计 4】数组也能无锁:AtomicIntegerArray
除了提供基本数据类型外,JDK还为我们准备了数组等复合结构。当前可用的原子数组有:AtomicIntegerArray、AtomicLongArray和AtomicReferenceArray,分别表示整数数组、long型数组和普通的对象数组。
【实战Java高并发程序设计 3】带有时间戳的对象引用:AtomicStampedReference
AtomicReference无法解决上述问题的根本是因为对象在修改过程中,丢失了状态信息。对象值本身与状态被画上了等号。因此,我们只要能够记录对象在修改过程中的状态值,就可以很好的解决对象被反复修改导致线程无法正确判断对象状态的问题。
【实战Java高并发程序设计 1】Java中的指针:Unsafe类
Java中的指针有你看不到的一面。
一图搞定【实战Java高并发程序设计】
只用一张图,了解Java高并发程序设计的所有技术点
实战Java虚拟机之二:“虚拟机的工作模式”
目前的Java虚拟机支持Client和Server两种运行模式。使用参数-client可以指定使用Client模式,使用参数-server可以指定使用Server模式。默认情况下,虚拟机会根据当前计算机系统环境自动选择运行模式。
【你必须知道的Java8】VirtualMachine所支持的操作
在JDK中com.sun.tools.attach.VirtualMachine提供了一些从外部进程attach到jvm上,并执行一些操作的功能。VirtualMachine的子类HotSpotVirtualMachine表示hotspot的虚拟机,下面的WindowsVirtualMachine是在windows平台下的实现。
【你必须知道的java8】BigInteger在Java8中的改进
BigInteger在Java8里增加了一组方法,你肯定还不知道吧
【深入JVM内核—原理、诊断与优化】第2期开课了
百度搜大数据开发人才要求信息,发现大部分都需要有 JVM知识,虽然使用Java的人很多,但真正有几个人懂JVM呢?如果jvm你都不懂,那java你又能怎么提高呢?程序的性能又能怎么优化呢?所以,JVM是必须要学习的!