原文: http://www.open-open.com/lib/view/open1462871898428.html 一个简单的单例示例 单例模式可能是大家经常接触和使用的一个设计模式,你可能会这么写 p…
分类:JUC
JUC-CopyOnWriteArrayList
CopyOnWriteArrayList 一、简介: 1.相当于线程安全的ArrayList。 2.对于可变的操作add,set,rem…
Java多线程 -- JUC包源码分析8 -- 对happen before的深刻理解
说到happen before,很多人都知道。但因为其理论的抽象,以及在语义上的微妙,使得对happen before的理解,往往陷入“隔靴搔痒“的境地。本文试图宏观性、多角度的来分析围绕happen before的诸多…
每天学会一点点(JAVA基础)
1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可…
java多线程系类:JUC原子类:02之AtomicLog原子类
概要 AtomicInteger, AtomicLong和AtomicBoolean这3个基本类型的原子类的原理和用法相似。本章以AtomicLong对基本类型的原子类进行介绍。内容包括:AtomicLong介绍和函数列…
【Java并发系列】----JUC之Lock
显式锁 Lock 在Java 5.0之前,协调共享对象的访问时可以使用的机制只有synchronized和volatile。Java 5.0后增加了一些新的机制,但并不是一种替代内置锁的方法,而是当内置锁不适用时,作为一…
Java 多线程
多线程模拟并发 @Test public void test1() throws InterruptedException { final CountDownLatch latch= new CountDow…
深入理解java:2.3. 并发编程 java.util.concurrent包
JUC java.util.concurrent包, 这个包是从JDK1.5开始引入的,在此之前,这个包独立存在着,它是由Doug Lea开发的,名字叫backport-util-concurrent, 在1.5开始引入…
Java之JUC系列(03)--互斥锁ReentrantLock
一、ReentrantLock基本介绍 ReentrantLock是一个可重入的互斥锁,又被称为“互斥锁”。 ReentrantLock锁(互斥锁):指在同一个时间点只能被一个线程所持有;可重入则是说ReentrantL…
Java多线程:AQS源码分析,Java并发之AQS详解,Java多线程系列--“JUC锁”03之 公平锁(一)
前言 AbstractQueuedSynchronizer类如其名,抽象的队列式的同步器,通常被称之为AQS的类,它是一个非常有用的父类,可用来定义锁以及依赖于排队阻塞线程的其他同步器;ReentrantLock,R…
Java并发编程 基础知识学习总结
Java并发编程一直是Java程序员必须懂但又是很难懂的技术内容,这部分的内容我也是反复学习了好几遍才能理解。本篇博客梳理一下最近从《Java 并发编程的艺术》和他人的博客学习Java并发编程的思路,本篇博客只梳理了Ja…
java多线程系类:JUC线程池:03之线程池原理(二)(转)
概要 在前面一章”Java多线程系列–“JUC线程池”02之 线程池原理(一)“中介绍了线程池的数据结构,本章会通过分析线程池的源码,对线程池进行说明。内容包括:线程池示例参考代码(基…