Spring注解指南 发表于 2020-02-24 | 分类于 技术文章 | 字数统计: 4k | 阅读时长 ≈ 16 整理了一些Spring中经常出现的注解,以及通过AspecJ实现AOP的步骤。 阅读全文 »
Java线程池详解 发表于 2020-02-10 | 分类于 技术文章 , 工具 , 命令 , 资源 | 字数统计: 2.4k | 阅读时长 ≈ 8 一、合理使用线程池的好处 降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗 提高响应速度:任务不需要等待线程创建 提高线程的可管理性:线程是稀缺资源,不能无限制地创建,使用线程池可以进行统一分配、调优和监控 二、线程池的实现原理线程池的主要处理流程: 从图中可以看出当提交一个新任 ... 阅读全文 »
Java中的并发工具类 发表于 2020-02-07 | 分类于 技术文章 , 工具 , 命令 , 资源 | 字数统计: 1.5k | 阅读时长 ≈ 6 CountDownLatch 它允许一个或多个线程等待其他线程完成操作,相当于join()的功能,但比join()的功能更多。 代码示例12345678910111213141516171819202122232425262728293031323334import java.util.concu ... 阅读全文 »
ConcurrentLinkedQueue详解 发表于 2020-02-06 | 分类于 技术文章 , 工具 , 命令 , 资源 | 字数统计: 1.6k | 阅读时长 ≈ 6 如果要实现一个线程安全的队列有两种方式:一种是使用阻塞算法,即队列用一个锁(入队和出队用同一把锁)或两个锁(入队和出队分别用一把锁)来实现;另一种是使用非阻塞算法,即使用循环CAS的方式实现。而ConcurrentLinkedQueue是使用非阻塞的方式来实现的基于链表的线程安全队列,采用先进先出 ... 阅读全文 »
ConcurrentHashMap详解 发表于 2020-02-05 | 分类于 技术文章 , 工具 , 命令 , 资源 | 字数统计: 3.8k | 阅读时长 ≈ 15 为什么要用ConcurrentHashMap?1、线程不安全的HashMap在多线程环境下,使用HashMap的put操作会引起死循环,原因是多线程会导致HashMap的Entry链表形成环形数据结构,导致Entry的next节点永远不为空,就会产生死循环获取Entry。 2、效率低下的HashTa ... 阅读全文 »