- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 Java集合源码解析 - CopyOnWriteArrayList
概述 CopyOnWriteArrayList是一个以数组和可重入锁实现的List(线程安全),每次对数组的修改时都先拷贝一份新的数组来操作,修改完成后在覆盖旧数组,保证只阻塞写操作,不阻塞读操作,实现读写分离 UML类图 CopyOnWriteArrayList实现了List, RandomAccess, Cloneable, java.io.Serializable等接口; CopyOnWriteArrayList实现了List,提供了基础的添加、删除、遍历等操作; CopyOnWriteArrayL
2020-08-07 18:44:11
120
原创 Java集合源码解析 - Vector
概述 Vector是一个以动态数组(支持扩展)实现的List(线程安全) UML类图 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tVFOFWLx-1596794659370)(Vector.png)] Vector实现了List接口,提供了增删改查的基础操作; Vector实现了Serializable接口,可以被序列化; Vector实现了Cloneable接口,可以被克隆; Vector实现了RandomAccess接口,支持随机访问; 源码解析 属性 /** 数组
2020-08-07 18:06:11
144
原创 Java集合源码解析 - LinkedList
概述 LinkedList是一个以双向链表实现的List,同时可作为队列(FIFO)与栈(LIFO)使用(非线程安全) UML类图 LinkedList实现了List接口,提供了增删改查的基础操作; LinkedList实现了Serializable接口,可以被序列化; LinkedList实现了Cloneable接口,可以被克隆; LinkedList实现了Deque接口,可作为双端队列; 源码解析 属性 //节点个数 transient int size = 0; //链表首节点 transient
2020-08-07 17:45:56
168
原创 Java集合源码解析 - ArrayList
概述 ArrayList是一个以动态数组(支持扩展)实现的List UML类图 ArrayList实现了List接口,提供了增删改查的基础操作; ArrayList实现了Serializable接口,可以被序列化; ArrayList实现了Cloneable接口,可以被克隆; ArrayList实现了RandomAccess接口,支持随机访问; 源码解析 属性 /** * 默认容量为10 */ private static final int DEFAULT_CAPACITY = 10; /**
2020-08-07 15:52:50
185
1
原创 Centos系统Nginx安装与配置
centos环境配置 安装nginx需要依赖某些包,执行以下命令 yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 安装 下载nginx安装包并执行 //可自行更换版本 wget -c https://nginx.org/download/nginx-1.10.1.tar.gz //解压 tar -zxvf nginx-1.10.1.tar.gz //进入目录 cd nginx-1.10.1 //执行
2020-08-06 17:53:13
121
原创 Centos系统Docker安装与配置
目录docker安装docker镜像加速docker-compose安装docker参考大全 docker安装 //安装docker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun //启动docker service docker start docker镜像加速 国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器 服务商 : 网易:https://hub-mirror.c.163.com/
2020-08-06 17:28:50
99
原创 Centos系统JDK安装与配置
Centos系统JDK安装与配置下载JDK配置JDK 下载JDK 点我进入官网下载JDK 配置JDK 1、上传JDK至服务器 2、创建文件夹: mkdir /usr/local/java 3、解压至文件夹: tar -zxvf jdk-8u191-linux-x64.tar.gz -C /usr/local/java/ 4、编辑配置文件: vim /etc/profile 5、最下方加入如下(jdk路径不同时自行修改) export JAVA_HOME=/usr/local/java/jdk1.8.0
2020-08-06 17:06:23
127
CopyOnWriteArrayList.uml
2020-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人