Java并发
文章平均质量分 94
皮皮熙のFans
无需仰望别人,自己亦是风景
展开
-
volatile小记
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Java内存模型(JMM)二、volatile实现内存屏障有序性可见性原子性总结前言并发三大特性:可见性,有序性,原子性。可见性:简单来说,就是一个线程对共享变量的修改,对其他线程可见。有序性:指的是程序按照代码编译后的先后顺序执行。原子性:指的是一个操作是不可中断的,即一个操作一旦开始就不会被其他线程影响 Java关键字volatile具有可见性和有序性的特性,针对两种特性的实现,我们来探讨一下实现原理原创 2021-04-02 16:54:13 · 9365 阅读 · 0 评论 -
全局唯一序列号的生成
概要:借助数据库自增主键实现全局唯一序列号的生成;将自增主键放大后,形成区间号段,在内存中分配,从而避免频繁的IO,当达到号段最大值时,重新从数据库获取号段。一、搭建测试application.yml配置server: port: 8080spring: datasource: username: root password: 123456 url: ...原创 2020-03-21 19:35:09 · 31820 阅读 · 0 评论 -
Java线程池的使用
对于线程池的使用,应该将线程池置为单例模式,节省内存的开销,线程池线程的数量可以根据业务,内核,cup等进行评估。常用的线程池是使用java并发包中的ThreadPoolExecutor对象。其核心构造参数:核心线程数量(corePoolSize)最大线程数量(maxiNumPoolSize)生存时间(keepAliveTime)时间单位(TimeUnit)队列大小(QueueSi...原创 2018-11-17 09:27:31 · 55652 阅读 · 0 评论