在多线程使用过程中,遇到多线程共同竞争临界资源时,一般使用同步锁解决,哪个线程能抢到同步锁,哪个线程能够进入临界区。

阅读全文 »

在多线程使用过程中run方法与start方法是两个重要方法,那么这两个方法有什么区别,如何理解这两个方法呢?

阅读全文 »

内存屏障,也称内存栅栏,内存栅障,屏障指令等,是一类同步屏障指令,它使得CPU 或编译器在对内存进行操作的时候, 严格按照一定的顺序来执行, 也就是说在memory barrier 之前的指令和memory barrier之后的指令不会由于系统优化等原因而导致乱序。

阅读全文 »

集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所以的集合类都位于java.util包下,后来为了处理多线程环境下的并发安全问题,java5还在java.util.concurrent包下提供了一些多线程支持的集合类。

阅读全文 »

Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。

阅读全文 »

happens-before 规则通常对应于多个编译器重排序规则和处理器重排序规则。

阅读全文 »

Java语言中万物皆对象,而在编程过程中是通过引用来操作对象的,引用可以简单视为对象在内存空间中的地址,因此可以通过引用找到并操作对象。

阅读全文 »