
java并发编程
文章平均质量分 88
别告诉我有BUG
这个作者很懒,什么都没留下…
展开
-
多线程操作Json对象踩坑分享
先来看3个问题你知道你常用的操作Json的对象是怎么实现的吗?多线程中操作json,进行put操作public class JsonShare { private static volatile AtomicInteger atomCount = new AtomicInteger(0); public static void main(String[] args) { int count = 0; final ExecutorServi原创 2021-03-02 14:12:07 · 2575 阅读 · 0 评论 -
列表查询优化,使用异步count和list提高执行效率
列表参数需继承 common 模块下的 pojo.ListQueryParam 创建参数实体,类名格式为 “模块列表 + QueryParam”,其属性除包含正常参数以外,还需以筛选条件为参考添加 xxxJoinFlag 标识,作为是否进行表连接标识,此标识在count语句时可以完全依赖,在信息查询语句时需考虑字段返回问题;@Datapublic class ListQueryParam { /** * 页码 */ private int pageNo = 1;.原创 2020-12-31 17:01:26 · 1039 阅读 · 1 评论 -
jvm参数调整记录
【推荐】高并发服务器建议调小 TCP 协议的 time_wait 超时时间。说明:操作系统默认 240 秒后,才会关闭处于 time_wait 状态的连接,在高并发访问下,服务器端会因为处于 time_wait 的连接数太多,可能无法建立新的连接,所以需要在服务器上调小此等待值。正例:在 linux 服务器上请通过变更/etc/sysctl.conf 文件去修改该缺省值(秒):net.ipv4.tcp_fin_timeout = 30阿里巴巴 Java 开发手册——禁止用于商业用途,违者必究.原创 2020-10-26 13:49:33 · 211 阅读 · 0 评论 -
从乐观锁到JMM内存模型到缓存协议
概念1、乐观锁乐观锁是指在2、CAS (Compare And Swap 比较并且替换CAS是乐观锁的一种实现,是一种轻量级锁,其工作原理为:当需要修改某条数据是,先去对比该条数据是否与读的时候相同,如果不同则放弃修改,若相同则修改成功3、ABSABA是在CAS的时候为引发ABA,ABA是指在对比修改数据时会因为改数据被重复修改,但是最终仍然与最开始读的数据一致,此时CAS误认为该数据与读时相同,使得修改成功。原理图如下:实现...原创 2020-07-29 11:31:41 · 462 阅读 · 0 评论