![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA并发编程
文章平均质量分 79
瓶子君_jk
你的职责是平整土地,而非焦虑时光!
展开
-
JAVA并发编程-10-JMM和底层实现原理
JMM和底层实现原理一、JAVA内存模型JMM1、并发编程领域的关键问题2、现代计算机物理上的内存模型3、Java内存模型4、JVM对Java内存模型的实现5、Java内存模型带来的问题二、Java内存模型中的重排序1、重排序的类型2、重排序与依赖性3、并发下重排序带来的问题一、JAVA内存模型JMM1、并发编程领域的关键问题线程之间的通信线程的通信是指线程之间以何种机制来交换信息。在编程中,线程之间的通信机制有两种,共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间原创 2020-06-03 22:48:20 · 303 阅读 · 2 评论 -
JAVA并发编程-9-并发安全
线程并发安全的理解一、类的线程安全的定义二、怎么才能做到类的线程安全1、栈封闭2、无状态3、让类不可变4、volatile5、加锁和CAS6、安全的发布7、TheadLocal三、线程不安全会产生的问题1、死锁2、活锁3、线程饥饿四、性能和思考影响性能的因素减少锁的竞争上一篇看这里:JAVA并发编程-8-线程池一、类的线程安全的定义如果多线程下使用这个类,不论多线程如何使用和调度这个类,这个类总是表示出正确的行为,这个类就是线程安全的。类的线程安全表现为:操作的原子性,使用这个类中的方法进行操作原创 2020-05-19 22:34:56 · 990 阅读 · 1 评论 -
JAVA并发编程-8-线程池
线程池的使用一、为什么要使用线程池二、手动实现一个线程池三、JDK中的线程池和工作机制1、线程池的创建及参数2、提交任务的方法3、关闭线程池的方法4、工作机制四、合理配置线程池五、预定义的线程池六、Executor框架上一篇看这里:JAVA并发编程-7-并发容器一、为什么要使用线程池1、降低资源的消耗。降低线程创建和销毁的资源消耗;2、提高响应速度:线程的创建时间为T1,执行时间T2,销毁时间T3,免去T1和T3的时间3、提高线程的可管理性。二、手动实现一个线程池如何实现线程呢?有2个关键点原创 2020-05-18 22:59:53 · 432 阅读 · 0 评论 -
JAVA并发编程-7-并发容器
常用的并发容器介绍一、ConcurrentSkipListMap 和 ConcurrentSkipListSet二、ConcurrentLinkedQueue三、写时复制容器 CopyOnWrite四、阻塞队列1、概念2、生产者、消费者模式3、常用方法4、常用阻塞队列5、使用DelayQueue实现延时订单上一篇看这里:JAVA并发编程-6-ConcurrentHashMap上一篇中我们介绍了最重要的一个并发容器ConcurrentHashMap,本章中我们简单介绍一下其他并发容器的原理和使用。一、原创 2020-05-17 23:50:45 · 321 阅读 · 2 评论 -
JAVA并发编程-6-ConcurrentHashMap
非常重要的一个并发集合-ConcurrentHashMap原创 2020-05-08 22:00:14 · 474 阅读 · 2 评论 -
JAVA并发编程-5-AQS的实现原理
学习并发编程的一座高山-AQS一、LockSupport工具的使用二、初识AQS1、什么是AQS2、模版方法设计模式3、AQS中的方法4、实现一个独占锁三、深入AQS源码1、AQS中的数据结构2、上一章看这里:JAVA并发编程-4-显式锁Lock一、LockSupport工具的使用先来简单讲解下LockSupport的使用java在LockSupport中定义了一组静态方法,来提供最基本的...原创 2020-04-23 23:36:58 · 597 阅读 · 4 评论 -
JAVA并发编程-4-显式锁Lock
JAVA中的显式锁上一章看这里:JAVA并发编程-3-原子操作CAS和原子类原创 2020-04-19 15:33:26 · 345 阅读 · 1 评论 -
JAVA并发编程-3-原子操作CAS和原子类
JAVA并发编程-3-原子操作CAS和原子类上一章:看这里JAVA并发编程-2-线程并发工具类原创 2020-04-14 23:47:10 · 299 阅读 · 1 评论 -
JAVA并发编程-2-线程并发工具类
JAVA并发编程-2-线程并发工具类原创 2020-04-12 13:27:50 · 340 阅读 · 4 评论 -
JAVA并发编程-1-线程基础
JAVA并发编程-1-线程基础一 、基础概念1,cpu核心数与线程数2,进程和线程3,并行和并发4,高并发编程的意义与问题二、实现线程的三种方式1,继承 Thread 类2,实现 Runnable 接口3,实现 Callable 接口三、线程的状态四、线程方法1, 线程终止的方法interrupt()2,等待和通知wait(),notify(),notifyAll()3,利用join()保证线程...原创 2020-04-07 22:17:59 · 920 阅读 · 1 评论 -
JAVA线程池的原理及使用
JAVA线程池的原理及使用一,使用线程池的原因二 ThreadPoolExecutor类的介绍1、构造方法合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart...转载 2019-01-16 16:03:22 · 227 阅读 · 1 评论 -
JAVA处理数据不存在插入存在更新
最近在做项目的时候碰到这样一个问题,做一个用户余额的需求。具体如下:类似这样一张表:CREATE TABLE `test_insert` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `token` varchar(10) NOT NULL DEFAULT '0' COMMENT '用户标志-唯一索引', `remark` var...原创 2019-01-19 14:52:38 · 7735 阅读 · 1 评论