1. 排序过程 trip 1:将第二个元素与第一个元素作比较,并根据条件决定是否进行交换,内循环结束后前两个元素有序trip 2:从后往前将第三个元素与前两个已经有序的元素逐...
1. 排序过程 trip 1:将第二个元素与第一个元素作比较,并根据条件决定是否进行交换,内循环结束后前两个元素有序trip 2:从后往前将第三个元素与前两个已经有序的元素逐...
本文从源码角度,以ReentrantLock的lock、lockInterruptibly、unlock为入口,对ReentrantLock中公平锁与非公平锁的上锁、解锁、处...
(1)分页的入口是startPage() (2)PageUtils.startPage (3)TableSupport.getPageDomain
1. HashMap继承关系简介 1.1 HashMap继承关系图 1.2 HashMap的父类及接口简介 (1)Map:值可重复,键不能重复,允许键为null(2)Abst...
1. 线性探测法 ThreadLocal的作用,简而言之,就是在多线程环境下,有些数据会被共享,ThreadLocal可以实现将共享数据的访问限制在当前线程中。每个Threa...
ArrayBlockingQueue底层是用数组实现的有界(即大小固定)的FIFO队列,其中利用两个字段,将该数组构造成了环形数组。ArrayBlockingQueue体现了...
LinkedBlockingQueue是用链表实现的FIFO队列,该队列大小默认是Integer.MAX_VALUE,可以认为是无界的,也可指定大小,使其有界。基于链表的队列...
本文从源码角度,以AbstractQueuedSynchronizer.ConditionObject的await、signal、signalAll为入口,对基于Reentr...
1. 线程状态及转换 1.1 六种线程状态 Java的Thread.State内部类中定义了6种线程状态,一个线程在任意时刻只能对应一种状态,可以通过特定方法进行状态切换。下...