一:基本介绍
stone, 一个用于池化的Java工具包,内置4个池子
1: JDBC连接池, 由BeeCP移植过来
2: Java对象池,由BeeOP移植过来
3: 任务池, 支持一次任务,定时任务,聚合任务(整体类似 :ThreadPoolExecutor + ScheduledThreadPoolExecutor + ForkJoinPool)
4: 线程同步池(也叫对象等待池),它包含四个子池(结果等待池,信号量等池,状态等待池,Transfer等待池),整体功能类似JUC包中AQS微框架,
并在同步池的基础上,延伸开发了一些类似JUC工具包的类,如下表
工具类名 | 备注 |
ReentrantLock | 重入锁 |
ReentrantReadWriteLock | 读写锁 |
StampedLock | 奇偶数交替推进,类似日月阴阳替换,所以又叫数字阴阳锁 |
Exchanger | |
CountDownLatch | |
CyclicBarrier | |
Phaser | |
Semaphore | |
SynchronousQueue |
二:锁微性能测试
利用JMH对包下实现的锁进行微性能测试,并和JDK1.8的锁进行对比,如下图
三: 项目地址
https://gitee.com/Chris2018998/stone
https://github.com/Chris2018998/stone
四: 版本下载
<dependency> <groupId>io.github.chris2018998</groupId> <artifactId>stone</artifactId> <version>1.2.3</version> </dependency>
五: 本次更新内容
1:优化包中结果等待池性能
2: 任务池支持聚合性任务处理
温馨提示: 由于我们开发的项目体积比较小,所以合并处理并统一维护,使用 BeeCP,BeeOP的朋友,建议切换到新包上。感谢各位朋友和用户一直以来的支持与信用,未来我们会坚定不移维护好项目,谢谢!
还没有评论,来说两句吧...