卓立java干货分享Zhuoli's Blog

coding……
但行好事 莫问前程

【今日观点】 Java编程拾遗『并发编程概述』

从本篇文章开始,我们一起来认识一下Java并发编程的相关细节。如果让你写一个多线程程序,相信绝大多数开发人员都能很轻松的实现。但是对于Java并发编程的一些细节,比如线程多个状态的流转、线程安全保证的原理、线程池的实现等等,综合考虑起来还是...

Java编程拾遗『EnumMap』-Zhuoli's Blog
Java

Java编程拾遗『EnumMap』

zhuoli阅读(77)评论(0)赞(0)

到本文为止,之前已经介绍过HashMap、TreeMap、LinkedHashMap,本篇文章介绍一下集合框架系列最后一种类型的Map——EnumMap。在之前的文章中,我曾介绍过Java API中枚举类的本质(Java编程拾遗『枚举类』)...

Java编程拾遗『LinkedHashSet』-Zhuoli's Blog
Java

Java编程拾遗『LinkedHashSet』

zhuoli阅读(113)评论(0)赞(0)

根据之前讲HashSet和HashMap的关系,TreeSet和TreeMap的关系,我们也能猜测出来LinkedHashSet肯定也是通过LinkedHashMap实现的,只是LinkedHashMap所有键值对的value都是一个特定的...

Java编程拾遗『LinkedHashMap』-Zhuoli's Blog
Java

Java编程拾遗『LinkedHashMap』

zhuoli阅读(393)评论(0)赞(0)

在之前的文章,分别介绍过HashMap、TreeMap。HashMap就是普通的K-V存储数据结构,TreeMap在K-V存储数据结构的基础上添加了K-V之间按键值有序的特性。本篇文章来介绍一下,另一种特殊的K-V存储数据结构LinkedH...

Java编程拾遗『TreeSet』-Zhuoli's Blog
Java

Java编程拾遗『TreeSet』

zhuoli阅读(65)评论(0)赞(0)

上篇文章我们讲了TreeMap的实现,熟悉了TreeMap的一大重要特征——保证键值对之间根据键的有序性。之前在讲HashSet时,我们知道HashSet是通过HashMap实现的。同样的道理,TreeSet其实也是基于TreeMap实现的...

Java编程拾遗『TreeMap』-Zhuoli's Blog
Java编程拾遗

Java编程拾遗『TreeMap』

zhuoli阅读(69)评论(0)赞(0)

通过之前两节的讲述,相信对二叉树、以及红黑树有了初步的认识。本篇文章来讲述一下基于红黑树实现的Map—TreeMap。之前介绍HashMap时,我们都知道,HashMap键值对之间没有特定的顺序。结合之前讲的红黑树特点,我们也可以猜测到,T...

Java编程拾遗『红黑树深入剖析及Java实现』-Zhuoli's Blog
Java

Java编程拾遗『红黑树深入剖析及Java实现』

zhuoli阅读(64)评论(0)赞(0)

前面一篇文章介绍了二叉排序数的相关算法细节,并引出一种特殊的排序二叉树—红黑树。在Java API中TreeMap底层就是通过红黑树实现的,本篇文章来看一下红黑树的相关算法细节及Java实现。在查阅相关资料时,在美团官方技术博客看到一篇很好...

Java编程拾遗『排序二叉树』-Zhuoli's Blog
Java

Java编程拾遗『排序二叉树』

zhuoli阅读(71)评论(0)赞(0)

在HashMap那篇文章讲过,在Java8中,HashMap是通过数组 + 链表 + 红黑树组织的,当链表中元素个数大于8时,会将链表转化成红黑树。而且Java API中TreeMap也是通过红黑树实现的,所以讲解红黑树,对于我们更好的了解...

Java编程拾遗『容器——HashSet』-Zhuoli's Blog
Java

Java编程拾遗『容器——HashSet』

zhuoli阅读(68)评论(0)赞(0)

在介绍Java中的HashSet之前,我们首先来看一下数学上集合的特性: 无序性:一个集合中,每个元素的地位都是相同的,元素之间是无序的。集合上可以定义序关系,定义了序关系后,元素之间就可以按照序关系排序。但就集合本身的特性而言,元素之间没...

Java编程拾遗『容器——HashMap』-Zhuoli's Blog
Java

Java编程拾遗『容器——HashMap』

zhuoli阅读(101)评论(2)赞(0)

之前用了两篇文章讲解了ArrayList和LinkedList的实现和使用,ArrayList和LinkedList都存在一个问题,查找元素效率比较低,都需要一一对比,时间复杂度是O(N)。还是回到那句话,每种数据结构都不是凭空出现的,肯定...

解读Java并发队列BlockingQueue-Zhuoli's Blog
Java

解读Java并发队列BlockingQueue

zhuoli阅读(54)评论(0)赞(0)

上篇文章讲了List的链表实现——LinkedList,同时LinkedList也实现了Dequeue接口,可以通过LinkedList实现栈和队列的操作。刚好昨天看到一篇关于线程池中BlockingQueue相关的不错的文章,这里分享一下...

zhuoli's blog

联系我关于我