AQS学习

AQS的全称为(AbstractQueuedSynchronizer),这个类也是在java.util.concurrent.locks下面, 我们把ReentrantLock里面的公平锁和非公平锁作为入口来学习。

final void lock() {
    acquire(1);
}

explain学习

explain

首先我们还是创建一个表,构造一些数据。

CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255)  NOT NULL DEFAULT '',
  `age` int(11)  NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `idx_name_age` (`name`,`age`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;


insert into student(name,age)
values
('yt1', 21),
('yt7', 22),
('yt6', 21),
('yt4', 23),
('yt9', 25),
('yt3', 22);

反转链表

题目非常的简单,让你反转一个单向链表.比如说原来的链表是1->2->3->4->5->null翻转后的链表就应该是null-<1-<2-<3-<4-<5,但是有人可能认为翻转后是5->4->3->2->1->null,但是这题我们要求保证原来的顺序不能变.
好了,弄清楚题目的要求,我们来分析下吧