摘要: 在这篇文章中,我会为大家介绍一下synchronized关键字的用法。同样,我会尝试用比较容易理解的方式去介绍,以求让大家都能够看明白,想清楚。 synchronized是什么 synchronized是一种锁机制,那么肯定有童鞋会问:什么是锁?为什么要用锁?怎么使用锁? 接下来我就分别针对这个经典 阅读全文
posted @ 2018-07-29 16:59 ohbfskfhl 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 上两篇文章我向大家介绍了一些线程间的基本通信方式,那么这篇文章就和大家聊聊volatile关键字的相关知识。这个关键字在我们的日常开发中很少会使用到,而在JDK的Lock包和Concurrent包下的类则大量的使用了这个关键字,因为它有如下两个特性: 1.确保内存可见性 2.禁止指令重排序 接下来就 阅读全文
posted @ 2018-07-15 19:02 ohbfskfhl 阅读(514) 评论(0) 推荐(1) 编辑
摘要: 大家好,上篇文章为大家介绍了线程间通信和协作的一些基本方式,那这篇文章就来介绍一下经典的wait-notify机制吧。 什么是wait-notify机制? 想象一下有两个线程A、B,如果业务场景中需要这两个线程交替执行任务(比如A执行完一次任务后换B执行,B执行完后再换A执行这样重复交替),之前的基 阅读全文
posted @ 2018-07-08 18:41 ohbfskfhl 阅读(1147) 评论(0) 推荐(1) 编辑
摘要: 在上篇文章中,我讲解了关于并发主题的一些基础知识,使大家对于线程有了一个初步的概念。那么今天我就来为大家讲解一下线程之间是如何通信以及它们是怎样协作的。 1.Thread.join()方法 想象一下有两个线程A、B,线程A需要等待线程B执行完毕后才能继续执行,那么此时就可以用join方法来实现。 从 阅读全文
posted @ 2018-07-08 16:16 ohbfskfhl 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 写在前面的话 从这篇文章开始就正式进入了并发主题,该主题相关知识较前面的集合主题会比较晦涩难懂,需要不断回顾、整理,才能构建出自己的知识网络。 首先推荐一本讲并发的好书:JAVA并发编程实战。这本书非常完整的讲解了关于并发的知识点,是一本不可多得的好书,如果有时间一定要多看几遍。 下面放一张并发主题 阅读全文
posted @ 2018-07-07 16:36 ohbfskfhl 阅读(258) 评论(0) 推荐(1) 编辑
摘要: 通过上篇文章,大家已经能够清楚的了解到treeMap插入结点的过程,那么本篇文章就来分析下TreeMap删除一个结点时,内部数据结构发生了怎样的变化。 TreeMap删除某个结点的源码分析 1 /** 2 * 删除节点,并平衡红黑树的操作 3 * 4 * @Param Entry<K,V> p 要删 阅读全文
posted @ 2018-06-02 21:13 ohbfskfhl 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 通过上篇文章,大家已经能够理解红黑树的基础数据结构,那么这篇文章就来分析下,在红黑树中插入一个结点后,内部数据结构发生了哪些变化。 TreeMap插入某个结点的源码分析 1 /** 2 * 插入节点,并平衡红黑树的操作 3 * 如果原先map中已经有该key对应的键值对,则替换原先该key对应的va 阅读全文
posted @ 2018-05-29 11:05 ohbfskfhl 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 因为TreeMap的相关知识较多,故TreeMap的分析将会分成三篇文章来写,望大家谅解。 本篇文章先给大家介绍一下红黑树基本概念,并分析一下在红黑树中查找某个结点的相关源码实现。 TreeMap是啥 从TreeMap的类名上就能知道它的底层存储结构其实是红黑树。首先简单介绍一下红黑树的相关知识,以 阅读全文
posted @ 2018-05-13 16:06 ohbfskfhl 阅读(201) 评论(0) 推荐(0) 编辑
摘要: LinkedHashMap分析 这篇文章会分析一下 LinkedHashMap。 LinkedHashMap是啥 首先我们看一下这个类的定义: 可以看到LinkedHashMap同样实现了Map接口,但它同时还继承了HashMap,所以天然就有HashMap自身的特性。 从名字上看 LinkedHa 阅读全文
posted @ 2018-05-10 17:34 ohbfskfhl 阅读(376) 评论(0) 推荐(0) 编辑
摘要: HashMap分析 这篇文章,分析一下面试中经常会被问到的数据结构——HashMap。 HashMap是啥 大家都知道HashMap是基于key-value机制存储数据的,那么是否有思考过底层是怎样的数据结构从而可以支持这种存储机制呢? 上图,以便看清楚HashMap的数据结构: 我们把这张图分成两 阅读全文
posted @ 2018-05-09 15:55 ohbfskfhl 阅读(440) 评论(0) 推荐(1) 编辑