Java集合,HashMap底层实现和原理(1.7数组+链表与1.8+的数组+链表+红黑树)

概述 文章的内容基于JDK1.7进行分析,之所以选用这个版本,是因为1.8的有些类做了改动,增加了阅读的难度,虽然是1.7,但是对于1.8做了重大改动的内容,文章也会进行说明。 HashMap基于Map接...

2018/02/28 11:51
11.1K
Java集合,TreeSet底层实现和原理

概述 文章的内容基于JDK1.7进行分析,之所以选用这个版本,是因为1.8的有些类做了改动,增加了阅读的难度,虽然是1.7,但是对于1.8做了重大改动的内容,文章也会进行说明。 TreeSet实现了Sor...

2018/02/28 10:26
3.5K
Java集合,HashSet底层实现和原理

概述 文章的内容基于JDK1.7进行分析,之所以选用这个版本,是因为1.8的有些类做了改动,增加了阅读的难度,虽然是1.7,但是对于1.8做了重大改动的内容,文章也会进行说明。 HashSet是Set接口...

2018/02/28 09:51
6K
Java集合,ConcurrentHashMap底层实现和原理(常用于并发编程)

概述 ConcurrentHashMap常用于并发编程,这里就从源码上来分析一下ConcurrentHashMap数据结构和底层原理。 在开始之前先介绍一个算法, 这个算法和Concurrent的实现是分不开的。 CAS算法: ...

2018/02/27 20:30
3K
Java集合,Vector底层实现和原理

概述 文章的内容基于JDK1.7进行分析,之所以选用这个版本,是因为1.8的有些类做了改动,增加了阅读的难度,虽然是1.7,但是对于1.8做了重大改动的内容,文章也会进行说明。 Vector作为List的...

2018/02/27 19:44
759
Java集合,LinkedList底层实现和原理

概述 文章的内容基于JDK1.7进行分析,之所以选用这个版本,是因为1.8的有些类做了改动,增加了阅读的难度,虽然是1.7,但是对于1.8做了重大改动的内容,文章也会进行说明。 LinkedList类是L...

2018/02/27 19:06
2.5K
Java集合,ArrayList底层实现和原理

概述 文章的内容基于JDK1.7进行分析,之所以选用这个版本,是因为1.8的有些类做了改动,增加了阅读的难度,虽然是1.7,但是对于1.8做了重大改动的内容,文章也会进行说明。 在分析 ArrayLis...

2018/02/27 17:57
3.3K
Java集合,ConcurrentLinkedQueue源码解析(常用于并发编程)

本文中多次提到CAS算法,先做个CAS算法的简单描述 CAS(非阻塞算法)说明 CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什...

2018/02/27 11:21
1K
Java集合, LinkedBlockingQueue源码解析(常用于并发编程)

LinkedBlockingQueue是一个基于链表实现的可选容量的阻塞队列。队头的元素是插入时间最长的,队尾的元素是最新插入的。新的元素将会被插入到队列的尾部。 LinkedBlockingQueue的容量限制是可...

2018/02/27 10:04
4K
Java集合, ArrayBlockingQueue源码解析(常用于并发编程)

本文主要就其中的一个实现类:ArrayBlockingQueue进行源码分析,分析阻塞队列的阻塞是如何实现的。 概述 ArrayBlockingQueue底层是使用一个数组实现队列的,并且在构造ArrayBlockingQueue时需...

2018/02/27 01:27
212
Java集合,阻塞队列的基本结构

BlockingQueue是一个继承自Queue的接口,在Queue的队列基础上增加了阻塞操作。简单来说,就是在在BlockingQueue为空时从队头取数据将会被阻塞,因为此时还没有数据可取,一旦队列中有数据了,...

2018/01/09 00:33
193
Java集合,Java中的队列都有哪些,有什么区别。

Java中的队列都有哪些,实际上是问queue的实现有哪些,如:ConcurrentLinkedQueue、LinkedBlockingQueue 、ArrayBlockingQueue、LinkedList。 源于我经历过的一次生产事故,有个服务会收集业...

2017/06/06 17:00
326
Java集合,总体框架及主要接口,抽象类分析

概述 集合类作为主要的工具类,主要用于存储对象,常用的数据结构如 栈,队列,列表等。Java集合主要分为Set, List ,Queue ,Map 四种体系。 Set:代表无序,不可重复的集合 List:代表有序,...

2017/05/11 12:30
1K
Java集合类,从源码解析底层实现原理

总体框架 Java集合,总体框架及主要接口,抽象类分析 Java集合,Java中的队列都有哪些,有什么区别 Java集合,阻塞队列的基本结构 Java集合, ArrayBlockingQueue源码解析(常用于并发编程)...

2017/04/19 10:40
211
深入JVM系列(三)之类加载、类加载器、双亲委派机制与常见问题

一.概述 定义:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型。类加载和连接的过程都是在运行期间完成的。 二...

2017/04/17 14:47
231
深入JVM系列(二)之GC机制、收集器与GC调优

一、回顾JVM内存分配 需要了解更多内存模式与内存分配的,请看 深入JVM系列(一)之内存模型与内存分配 1.1、内存分配: 1、对象优先在EDEN分配 2、大对象直接进入老年代 3、长期存活的对象将...

2017/04/17 12:03
284
深入JVM系列(一)之内存模型与内存分配

一、JVM内存区域划分 大多数 JVM 将内存区域划分为 Method Area(Non-Heap),Heap,Program Counter Register, Java Method Stack,Native Method Stack和Direct Memomry(注意 Directory Memo...

2017/04/17 11:45
352
Java,Stack栈和queue队列

搞编程开发的应该都听过栈和队列了吧,往往容易弄混的就是“后进先出”和“先进先出”了。 如果大家觉得这张图不错可以直接右键另存为哦,记得点赞哈~ 那么,关于栈和队列下面就直接列出相关...

2017/04/17 10:50
26
Java中的增强for循环(for each)的实现原理与坑

在JAVA中,遍历集合和数组一般有以下三种形式: for (int i = 0; i < list.size(); i++) { System.out.print(list.get(i) + ","); } Iterator iterator = list.iterator(); while (iterator....

2017/04/14 17:14
124
深入理解Java的泛型及用法

Java 泛型 Java 泛型(generics)是 JDK 5 中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在...

2017/03/28 20:23
53

没有更多内容

加载失败,请刷新页面