随笔分类 -  Java源码分析

摘要:ArrayBlockingQueue原理介绍 ArrayBlockingQueue,是基于数组的阻塞队列,队列中的元素按照FIFO顺序。 创建ArrayBlockingQueue,是需要制定队列的容量的(不可省);指定队列容量后,会一次性创建capacity个长度的数组,用来存放队列元素; 需要注意 阅读全文
posted @ 2021-02-17 17:08 寻觅beyond 阅读(184) 评论(0) 推荐(0) 编辑
摘要:LinkedBlockingQueue基本原理介绍 LinkedBlockingQueue是基于链表实现的阻塞队列,需要注意的是LinkedBlockingQueue是带头结点的队列(头结点不存真实数据,存的数据为null)。 在LinkedBlockingQueue中,元素是按照先进先出的顺序(F 阅读全文
posted @ 2021-02-17 16:59 寻觅beyond 阅读(230) 评论(0) 推荐(0) 编辑
摘要:目录 一.HashSet介绍 二.HashSet源码分析 2.1 HashSet原理概览 2.2 HashSet的属性 2.3 构造方法 2.4 add操作 2.5 contains操作 2.6 remove操作 2.7 size操作 三.总结 一.HashSet介绍 对于HashSet,用不着太多 阅读全文
posted @ 2020-08-04 09:28 寻觅beyond 阅读(481) 评论(0) 推荐(0) 编辑
摘要:目录 一.介绍 1.1 HashMap无法保证顺序 1.2 如何保证HashMap的顺序 1.3 使用LinkedHashMap 1.4 LinkedHashMap的顺序分类 1.5 LinkedHashMap使用示例 二.LinkedHashMap源码分析 2.1 LinkedHashMap原理概 阅读全文
posted @ 2020-08-03 12:49 寻觅beyond 阅读(419) 评论(0) 推荐(0) 编辑
摘要:目录 一.写时复制介绍 二.CopyOnWriteArrayList介绍 三.CopyOnWriteArrayList源码解析 3.1 重要属性 3.2 getArray和setArray 3.3 构造方法 3.4 获取元素 3.5 添加元素 3.5.1 追加元素 3.5.2 指定位置插入元素 3. 阅读全文
posted @ 2020-07-20 17:56 寻觅beyond 阅读(323) 评论(0) 推荐(0) 编辑
摘要:目录 一.LinkedList介绍 二.LinkedList源码解析 2.1 链表元素类型-Node 2.2 重要的属性 2.3 构造方法 2.4 获取元素 2.4.1 getFirst和getLast 2.4.2 get 2.5 添加元素 2.5.1 add 2.5.2 addFirst和addL 阅读全文
posted @ 2020-07-19 14:49 寻觅beyond 阅读(236) 评论(0) 推荐(0) 编辑
摘要:目录 一.ArrayList介绍 二.ArrayList源码分析 2.1 重要的属性 2.2 构造方法 2.3 添加元素 2.4 数组扩容 2.5 删除元素 2.6 数组缩容 2.7 获取元素 2.8 主动扩容 一.ArrayList介绍 ArrayList在平时开发过程中使用得特别频繁,它的底层是 阅读全文
posted @ 2020-07-18 19:49 寻觅beyond 阅读(231) 评论(0) 推荐(0) 编辑
摘要:目录 一.ConcurrentHashMap的模型图 二.源码分析-类定义 2.1 极简ConcurrentHashMap定义 2.2 Segment内部类 2.3 HashEntry内部类 2.4 ConcurrentHashMap的重要常量 三.常用接口源码分析 3.1 ConcurrentHa 阅读全文
posted @ 2020-06-19 10:16 寻觅beyond 阅读(862) 评论(0) 推荐(1) 编辑
摘要:一.ReentrantLock介绍 1.1介绍 ReentrantLock,可重入锁,首先是一个锁,独占锁,可重入(也就是当前线程获取锁后,还可以再次获取该锁); 1.2API介绍 ReentrantLock有多个接口,这也是相对于synchronized的一个优势吧,可以灵活地对锁进行控制,而不用 阅读全文
posted @ 2020-06-17 21:25 寻觅beyond 阅读(396) 评论(0) 推荐(0) 编辑
摘要:目录 一.介绍 二.问题提出 2.1内存原理图 2.2几个问题 三.回答问题 3.1为什么会出现内存泄漏 3.2若Entry使用弱引用 3.3弱引用配合自动回收 四.总结 一.介绍 之前使用ThreadLocal的时候,就听过ThreadLocal怎么怎么的可能会出现内存泄漏,具体原因也没去深究,就 阅读全文
posted @ 2020-06-15 11:17 寻觅beyond 阅读(4537) 评论(11) 推荐(3) 编辑
摘要:目录 一.ThreadLocal介绍 1.1 ThreadLocal的功能 1.2 ThreadLocal使用示例 二.源码分析-ThreadLocal 2.1 ThreadLocal的类层级关系 2.2 ThreadLocal的属性字段 2.3 创建ThreadLocal对象 2.4 Thread 阅读全文
posted @ 2020-06-14 22:27 寻觅beyond 阅读(1402) 评论(0) 推荐(0) 编辑
摘要:前言 最近在看JDK源码,发现好多地方都用到了AtomicInteger原子类,所以打算将AtmoicInteger的源码过一遍。 本文将分为两部分,一部分是简单介绍AtmoicInteger的用法,第二部分是AtomicInteger的源码,我在源码中做了比较详细的注释。 简单使用AtomicIn 阅读全文
posted @ 2020-06-11 20:18 寻觅beyond 阅读(697) 评论(0) 推荐(0) 编辑
摘要:目录 1.HashMap存储结构图 2.存储的value是Node类型 3.hash计算以及确定下标 4.重要的常量 5.put操作 6.get操作 7.remove操作 8.链表转红黑树 9.resize扩容 10.resize时红黑树拆分 11.快速失败 12.HashMap为什么是非线程安全的 阅读全文
posted @ 2020-06-11 09:20 寻觅beyond 阅读(400) 评论(0) 推荐(0) 编辑

返回顶部
点击右上角即可分享
微信分享提示