摘要: 1、前言 Java中 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。 所谓原子类说简单点就是具有原子/原子操作特征的类。Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便程序员在多线程环境下 阅读全文
posted @ 2020-04-30 22:13 jrliu 阅读(714) 评论(0) 推荐(0) 编辑
摘要: 1、前言 JDK 提供的并发容器大部分在JUC包中。包括下面的: ConcurrentHashMap: 线程安全的 HashMap CopyOnWriteArrayList: 线程安全的 List,在读多写少的场合性能非常好,远远好于 Vector. ConcurrentLinkedQueue: 高 阅读全文
posted @ 2020-04-30 22:10 jrliu 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 1、前言 在Java5.0之前,协调对共享对象的访问可以使用的机制只有synchronized和volatile。synchronized关键字实现了内置锁,而volatile关键字保证了多线程的内存可见性。在大多数情况下,这些机制都能很好地完成工作,但却无法实现一些更高级的功能,例如,无法中断一个 阅读全文
posted @ 2020-04-30 22:06 jrliu 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 1、前言 JDK 提供的这些容器大部分在JUC包中。包括下面的: ConcurrentHashMap: 线程安全的 HashMap CopyOnWriteArrayList: 线程安全的 List,在读多写少的场合性能非常好,远远好于 Vector. ConcurrentLinkedQueue: 高 阅读全文
posted @ 2020-04-28 22:23 jrliu 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 1、前言 创建线程有四种方式,分别是实现Runnable接口,继承Thread类,线程池,还有一种就是实现Callable接口。相对于实现Runnable接口和继承Thread类在执行任务后都无法获取执行结果,Callable+Future能够在任务执行结束后得到任务结果。 2、Callable和R 阅读全文
posted @ 2020-03-31 10:56 jrliu 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 1、概述 JUC中locks包下常用的类与接口图如下: 图中,Lock和ReadWriteLock是顶层锁的接口,Lock代表实现类是ReentrantLock(可重入锁),ReadWriteLock(读写锁)的代表实现类是ReentrantReadWriteLock。 ReadWriteLock 阅读全文
posted @ 2020-03-31 10:17 jrliu 阅读(581) 评论(0) 推荐(1) 编辑
摘要: 1、前言 1.1 Comparable 简介 Comparable 是一个接口。若一个类实现了Comparable接口,就意味着“该类支持排序”。 实现Comparable接口的类支持排序,如果存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(或数组)可以通过 阅读全文
posted @ 2020-03-31 10:04 jrliu 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 1、synchronized关键字最主要的三种使用方式的总结 修饰实例方法,作用于当前对象实例加锁,进入同步代码前要获得当前对象实例的锁。 修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁 。也就是给当前类加锁,会作用于类的所有对象实例,因为静态成员不属于任何一个实例对象,是类 阅读全文
posted @ 2020-03-29 19:42 jrliu 阅读(204) 评论(0) 推荐(0) 编辑
摘要: static 关键字主要用来修饰方法 ,类 ,成员变量以及代码块。 1、修饰成员变量和成员方法 被 static 修饰的成员属于类,不属于这个类的某个对象,而是被类中所有对象共享,可以并且建议通过类名调用。被static 声明的成员变量属于静态成员变量,静态变量存放在 Java 内存区域的方法区,方 阅读全文
posted @ 2020-03-15 20:18 jrliu 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 1、前言 写动态代理的代码涉及了一个非常重要的类 Proxy,通过Proxy的静态方法newProxyInstance才会动态创建代理对象。 2、newProxyInstance方法 public static Object newProxyInstance(ClassLoader loader, 阅读全文
posted @ 2020-03-04 12:25 jrliu 阅读(226) 评论(0) 推荐(0) 编辑