概述 Java8的两个重大改变,一个是Lambdab表达式,另外一个就是Stream API表达式。Stream是Java8中处理集合的关键抽象...
概述 ArrayList使我们从学习Java开始经常使用到的一种集合类,也是我们在面试中经常被面试官提起的一个知识点,仔细阅读ArrayList...
概述 对于Java来说万物皆对象,所有的Java对象的最终父类都是Object,所以它们都拥有一组监视器方法,主要包括:wait(),wait(...
概述 在并发编程中,为了解决线程安全问题,我们会高频率的使用独占式锁,一般我们使用java提供的Synchronized关键字或java.uti...
概述 重入锁ReentrantLock,顾名思义,就是支持重进入的锁,它表示能够支持一个线程对资源的重复加锁。除此之外,该锁还支持获取锁时的公平...
概述 在前面我们初步认识了一下lock与AQS的基础内容,在同步组件的实现中,AQS是核心部分,我们通过AQS提供的模板方法来实现自定义同步组件...
概述 并发编程的目的是为了让程序运行的更快,但并不是启动更多的线程就能让程序最大限度地并发执行。如果想通过多线程使程序运行更快,那么将会面临很多...
概述 在学习java并发编程的过程中,java.util.concurrent包是我们需要学习和理解的关键之一,concurrent包的作者Do...
线程安全的两大核心 我们知道,出现线程安全的问题一般是因为主内存和线程工作内存数据不一致和重排序导致的,而解决线程安全问题,最重要的就是理解这两...