随笔分类 -  J.U.C

摘要:在开发中我们经常会碰到“池”的概念,比如数据库连接池、内存池、线程池、常量池等。为什么需要“池”呢?程序运行的本质,就是通过使用系统资源(CPU、内存、网络、磁盘等)来完成信息的处理,比如在 JVM 中创建一个对象实例需要消耗 CPU 和内存资源,如果你的程序需要频繁创建大量的对象,并且这些对象的存 阅读全文
posted @ 2021-07-23 17:52 hochan_100 阅读(59) 评论(0) 推荐(0)
摘要:介绍过 Java SDK 提供了 2 个有界队列:ArrayBlockingQueue 和 LinkedBlockingQueue,它们都是基于 ReentrantLock 实现的,在高并发场景下,锁的效率并不高,那有没有更好的替代品呢?有,今天我们就介绍一种性能更高的有界队列:Disruptor。 阅读全文
posted @ 2021-07-15 17:44 hochan_100 阅读(123) 评论(0) 推荐(0)
摘要:摘要: 原创出处 http://cmsblogs.com/?p=2197 「小明哥」欢迎转载,保留摘要,谢谢! 在前面提到过,AQS 是构建 Java 同步组件的基础,我们期待它能够成为实现大部分同步需求的基础。 AQS 的设计模式采用的模板方法模式,子类通过继承的方式,实现它的抽象方法来管理同步状 阅读全文
posted @ 2021-07-08 18:21 hochan_100 阅读(63) 评论(0) 推荐(0)
摘要:摘要: 原创出处 http://cmsblogs.com/?p=2174 「小明哥」欢迎转载,保留摘要,谢谢! Java 的内置锁一直都是备受争议的,在 JDK 1.6 之前,synchronized 这个重量级锁其性能一直都是较为低下,虽然在 1.6 后,进行大量的锁优化策略。 但是与 Lock 阅读全文
posted @ 2021-07-08 17:37 hochan_100 阅读(103) 评论(0) 推荐(0)
摘要:摘要: 原创出处 http://cmsblogs.com/?p=2188 「小明哥」欢迎转载,保留摘要,谢谢! 1. 简介 CLH 同步队列是一个 FIFO 双向队列,AQS 依赖它来完成同步状态的管理: 当前线程如果获取同步状态失败时,AQS则会将当前线程已经等待状态等信息构造成一个节点(Node 阅读全文
posted @ 2021-07-08 17:12 hochan_100 阅读(57) 评论(0) 推荐(0)