结构上,底层使用数组+单向链表+红黑树的结构,节点数大于8时会转为红黑树,节点数小于6时会转为单向链表。 首先 […]
Concurrent包(二):深入ReentrantLock
ReentrantLock简介 ReentrantLock表示重入锁,它是唯一一个实现了 Lock 接口的类。 […]
Concurrent包(一):深入AQS
Concurrent包(一):深入AQS concurrent包 Java.util.concurrent 是 […]
神奇的0x61c88647——浅析ThreadLocal
0x61c88647的特点 这个数是Integer有符号整数的0.618倍,既黄金比例,斐波拉契数列。使用这个 […]
可见性问题:Volatile的本质
什么是可见性问题 在单线程的环境下,如果向一个变量先写入一个值,在没有写干涉的情况下读取这个变量的值,此时读取 […]
关于锁
Java中的同步锁synchronized synchronized的基本用法 根据修饰的对象 修饰实例方法: […]
线程基础和使用
线程的生命周期(来源《JAVA并发编程的艺术》) 创建线程的方式 1、继承Thread类 public cla […]
Spring事务原理
首先得知道程序是如何连接数据库的? DataSource封装了Connection,Connection封装了 […]
Spring源码阅读(四):MVC实现原理
MVC实现原理 流程: 一个request由DispatcherServlet接收到,根据请求的url去han […]
Spring源码阅读(三):AOP实现原理
AOP实现原理 1、切面(Aspect):面向规则,具有相同规则的方法的集合体。 2、通知(Advice):回 […]
Spring源码阅读(二):DI实现原理
DI实现原理 首先明确一点,DI的过程是从getBean()开始的,因为Spring是懒加载的(lazy),也 […]
Spring源码阅读(一):IoC实现原理
IoC实现原理 IoC容器初始化过程 定位:定位配置文件和扫描相关的注解; 加载:将配置信息载入到内存中; 注 […]
虚拟机安装CentOS以及服务器环境配置(下)
虚拟机安装CentOS以及服务器环境配置(下) 安装Java 8 在安装jdk之前,先推荐一款我觉得非常好用的 […]
虚拟机安装CentOS以及服务器环境配置(上)
虚拟机安装CentOS以及服务器环境配置(上) 首先下载centos7的镜像:链接。 用的阿里云下载minim […]
阿里云OSS,9元自建图床
阿里云OSS自建图床 今天偶然发现阿里云OSS便宜的只要9元! 一直想用七牛云来着,毕竟10GB以内免费,但是 […]