
Java多线程
文章平均质量分 78
学习的鱼儿
这个作者很懒,什么都没留下…
展开
-
红黑树
因为最近正在学习Java8中的HashMap,其中用到了红黑树,所以就单独拿出一篇博客来学习红黑树,下面进入到我们的学习过程原创 2019-07-22 09:18:19 · 183 阅读 · 0 评论 -
Java内存模型
首先我们先谈谈什么是数据竞争,数据竞争的定义:1 在一个线程正在写一个变量2 在一个线程中正在读一个变量3 变量的写和读没有通过同步来进行排序当程序中存在数据竞争的时候,往往会产生违背直觉的一些结果,在一个多线程程序中,如果进行了正确的同步,那么这将是一个没有数据竞争的程序。JMM对于正确同步的多线程程序做了内存一致性的保证: 如果一个多线程程序是正确同步的,那么程序...原创 2018-09-06 10:17:23 · 127 阅读 · 0 评论 -
线程通信机制
一 java实现线程通信机制主要通过以下几种方式1 while()轮询2 等待/通知机制wait()、notify()、notifyAll()结合synchronized关键字3 条件对象:ConditionCondition和ReentrantLock重入锁 此外,java为线程间通信还提供了一些关键字:synchronized、volatile、final,...原创 2018-09-24 16:23:47 · 1686 阅读 · 0 评论 -
SpringBoot学习之路之IDEA创建spring项目
一 Idea创建Spring项目1 新建工程 2 输入工程相关信息点击"Next"3 选择Lombok 4 完成原创 2018-12-02 10:44:57 · 127 阅读 · 0 评论 -
JDK源码学习之路数据结构之-HashMap
在讲解具体的源码之前,先来对其jdk的介绍做一个翻译,下面是jdk源码对其介绍: HashMap作为Map接口的实现,提供了所有的可选择的映射的操作,大致上HaspMap和HashTable相等(不是线程安全和允许空值除外),HashMap对map的key的顺序没做出任何保证,特别是不会保证顺序恒久不变。 假定hash方法可以将元素适当的散列在各个桶之间,那么h...原创 2018-12-02 17:32:50 · 192 阅读 · 0 评论 -
ReentrantLock源码
目录公平锁的实现:非公平锁的实现:在看公平锁的实现之前,我们先来看ReentrantLock中一个静态内部类Sync,Sync是一个抽象的静态内部类,集成了AbstractQueuedSynchronizer抽象类.源码如下:Sync是ReentrantLock实现同步控制的基础,非公平锁和公平锁都是其子类,使用AQS的state变量来代表锁被持有的次数 /**...原创 2019-01-16 16:30:17 · 472 阅读 · 2 评论