‘ JAVA ’ 目录归档
JUC包中的分而治之策略-为提高性能而生
一、前言
本次分享我们来共同探讨JUC包中一些有意思的类,包含AtomicLong & LongAdder,ThreadLocalRandom原理。
二、AtomicLong & LongAdder
2.1 AtomicLong 类
AtomicLong是JUC包提供的原子性操作类,其内部通过CAS保证了对计数的原子性更新操作。
阅读全文为自己搭建一个分布式 IM(即时通讯) 系统
前言
大家新年快乐!
新的一年第一篇技术文章希望开个好头,所以元旦三天我也没怎么闲着,希望给大家带来一篇比较感兴趣的干货内容。
老读者应该还记得我在去年国庆节前分享过一篇《设计一个百万级的消息推送系统》;虽然我在文中有贴一些伪代码,依然有些朋友希望能直接分享一些可以运行的源码;这么久了是时候把坑填上了。
阅读全文CountDownLatch源码解析
CountDownLatch
相比ReentranceLock,CountDownLatch的流程还是相对比较简单的,CountDownLatch也是基于AQS,它是AQS的共享功能的一个实现。
下面从源代码的实现上详解CountDownLatch。
图解java并发(上)
《Hibernate快速开始 – 批量处理》
JDBC 批量处理
JDBC提供了对批量查询语句集合到单条查询语句的支持。在应用方面,这意味着数据驱动在批量处理的时候只需要发送一条查询请求,减少了对数据库的请求次数。hibernate合理使用了JDBC批量处理的特点,可以通过以下配置控制这一行为。
Java–读写锁的实现原理
最近做的一个小项目中有这样的需求:整个项目有一份config.json
保存着项目的一些配置,是存储在本地文件的一个资源,并且应用中存在读写(读>>写)更新问题。既然读写并发操作,那么就涉及到操作互斥,这里自然想到了读写锁,也顺便对自己读写锁方面的知识做个梳理。