JAVA编程语言
文章平均质量分 95
snowingCountry
继续错误的代价由别人来承担,而承认错误的代价由自己来承担。
展开
-
JAVA多线程详解(一):线程的创建与常用方法
这里写自定义目录标题一、线程与进程的区别1、进程的概念:功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入一、线程与进程...原创 2019-06-19 20:38:36 · 181 阅读 · 0 评论 -
JAVA多线程详解(三):ReentrantLock实现原理与源码分析
刚学java的多线程通信时,往往只能知道在多线程访问共享资源时加上锁,保证多线程访问共享资源时的同步操作。利用ReentrantLock的lock()方法加锁,利用ReentrantLock的unlock()方法释放锁。那么加锁和释放锁的内部是怎么实现的呢?其源码解释的比较清晰。下面将从源码的整体架构和具体细节来分析ReentraLock的实现原理。由于大量使用了CAS操作,先介绍CAS的实现原理...原创 2019-06-28 15:43:19 · 448 阅读 · 0 评论 -
JAVA线程详解(二):多线程的锁与线程通信
本文将记录在多线程的情况下数据安全共享的学习心得,数据安全共享就是保证共享数据访问正确性。对于线程内部的数据,则不存在共享的问题。对于final类型的共享数据,由于是不可变的数据,所以是绝对安全的。所以需要特别处理的是可变的共享数据,多线程的操作可能会造成数据“脏读”的情况。首先先介绍java的内存模型来了解出现不安全的原因。一、JAVA内存模型Java内存模型包括主内存和工作内存两大块,主内...原创 2019-06-22 12:09:14 · 277 阅读 · 0 评论