随笔分类 - Java
摘要:参考: 死磕 java集合 by 彤哥读源码 1. 概述 1.1 简介 CopyOnWriteArrayList是ArrayList的线程安全版本,内部也是通过数组实现,每次对数组的修改都完全拷贝一份新的数组来修改,修改完了再替换掉老数组,这样保证了只阻塞写操作,不阻塞读操作,实现读写分离。 1.2
阅读全文
摘要:参考: 死磕 java集合 by 彤哥读源码 1. 概述 1.1 简介 ArrayList是一种以动态数组实现的List,能在常数时间内随机访问元素,但非尾部的插入和删除需要线性时间,需要移动元素 同时数组元素的存储在物理上是连续的,因此其存取可能极大得益于CPU缓存 1.2 继承体系 ArrayL
阅读全文
摘要:1 包装类 & 装箱与拆箱 1.1 基本数据类型 & 包装器 基本数据类型及其包装器: 拆箱与装箱: 自动装箱是将基本数据类型转换为其包装类, 自动拆箱是将包装类调用其方法转换为基本数据类型 2. int类型的拆箱与装箱 2.1 实例 1 @Test 2 public void testEquals
阅读全文
摘要:1. 放出源码 2. elementData与Object[] elementData的定义如下 transient Object[] elementData; // non-private to simplify nested class access 请看如下代码 package test; p
阅读全文
摘要:package TestDemo; public class StaticDemo01 { static { System.out.println("StaticDemo01静态代码块执行"); } // Java没有静态构造函数 public StaticDemo01(){ System.out.
阅读全文