Debug LinkedList

Debug LinkedList源码 前置知识 LinkedList基于链表,LinkedList的Node节点定义 成员变量 //链表中元素的数量 transient int size = 0; /** * 链表的头节点:用于遍历 */ transient Node<E> first; /** * ... »

集合-ConcurrentLinkedQueue 源码解析

问题 (1)ConcurrentLinkedQueue是阻塞队列吗? (2)ConcurrentLinkedQueue如何保证并发安全? (3)ConcurrentLinkedQueue能用于线程池吗? 简介 ConcurrentLinkedQueue只实现了Queue接口,并没有实现Blockin ... »

LinkedList源码(add方法)

对于要有扎实的java基础,集合是必须掌握的,而且精读这部分的源码很有用,也很有必要。而LinkedList是在java.util包下,和java.io,java.lang都是比较常用,而且比较简单。看看它们的源码有助于锻炼我们看源码的感觉,也了解一下大神们写代码的风格。看这些源码的目的,更多是为了 ... »

JAVA集合框架(一)-综述

目录 什么是java集合框架 使用类型安全的容器 集合框架简图 集合类库主要接口简述 Collection接口方法概览 目录 什么是java集合框架 使用类型安全的容器 集合框架简图 集合类库主要接口简述 Collection接口方法概览 目录 什么是java集合框架 使用类型安全的容器 集合框架简 ... »

Java集合类源码解析:Vector

引言 之前的文章我们学习了一个集合类 "ArrayList" ,今天讲它的一个兄弟 Vector 。 为什么说是它兄弟呢?因为从容器的构造来说,Vector 简直就是 ArrayList 的翻版,也是基于数组的数据结构,不同的是,Vector的每个方法都加了 synchronized 修饰符,是线程 ... »

Java集合类源码解析:HashMap (基于JDK1.8)

[toc] 前言 今天我们来学习Java中较为常用的集合类 HashMap 。 另外说明一下,本文的 HashMap 源码是基于Jdk1.8版本的,如果没有特别说明的话,之后的集合类源码解析都是1.8的版本。 HashMap的数据结构 打开HashMap源码文件,可以看到它是继承自 "Abstrac ... »

Java集合类源码解析:ArrayList

[toc] 前言 今天学习一个Java集合类使用最多的类 ArrayList , ArrayList 继承了 "AbstractList" ,并实现了 List 和 "RandomAccess" 等接口, 是一个 以数组形式 存储数据的集合,它具有以下的特点: 集合中的数组是有序排列的; 允许元素为 ... »

Java集合类根接口:Collection 和 Map

前言 在前文中我们了解了几种常见的数据结构,这些数据结构有着各自的应用场景,并且被广泛的应用于编程语言中,其中,Java中的集合类就是基于这些数据结构为基础。 Java的集合类是一些非常实用的工具类,主要用于存储和装载数据 (包括对象),因此,Java的集合类也被成为容器。在Java中,所有的集合类 ... »

LinkedList遍历方式区别

Java中普通的遍历方式一般常用的就是fori和foreach方式,在一般情况下这两种区别不大,往往是效率区别和有一些特殊场合注意问题,下次再详解,这次先描述关于LinkedList遍历时遇到的问题。 具体问题: 项目中需要实现接收对方频繁发送过来的数据并解析后序列化文件到目的服务器,采用了定量发送 ... »

从源码角度看LinkedList一些基本操作(jdk1.7)

介绍 LinkedList是一个双向链表,就像下图展示那样,每个节点有个指向上个元素和一个指向下个元素的指针。 接下来我会对我们经常使用的方法进行介绍,代码如下 现在我们先来看看实例化LinkedList调用的构造函数。 构造函数 LinkedList的构造函数有两个,如下 一个是无参的构造函数,无 ... »