摘要: 本文对ThreadLocal的分析基于JDK 8。 本文大纲 1. ThreadLocal快速上手 2. ThreadLocal应用场景 3. TheadLocal set与get方法简析 4. TheadLocal与内存泄漏 1. ThreadLocal快速上手 ThreadLocal是java. 阅读全文
posted @ 2019-04-29 14:32 Pedlar 阅读(1426) 评论(0) 推荐(0) 编辑
摘要: 本文分析的ReentrantLock所对应的Java版本为JDK8。 在阅读本文前,读者应该知道什么是CAS、自旋。 由于ReentrantLock的公平锁和非公平锁中有许多共同代码,本文只会对这两种锁的不同之处加以分析,所以如果读者对公平锁不熟的话,强烈建议先看我的上篇博客——ReentrantL 阅读全文
posted @ 2019-04-20 21:16 Pedlar 阅读(512) 评论(1) 推荐(0) 编辑
摘要: 本文分析的ReentrantLock所对应的Java版本为JDK8。 在阅读本文前,读者应该知道什么是CAS、自旋。 本文大纲 1.ReentrantLock公平锁简介 2.AQS 3.lock方法 4.unlock方法 1. ReentrantLock公平锁简介 ReentrantLock是JUC 阅读全文
posted @ 2019-04-19 15:14 Pedlar 阅读(1168) 评论(0) 推荐(0) 编辑
摘要: 本文大纲 1. 重排序2. volatile的特性3. happens-before 3.1 线程内的happens-before 3.2 线程间的happens-before4. JMM底层实现原理 1. 重排序 首先,我们来看一段代码: 上面这段代码中,x、y的结果可能会有如下三种情况: x=0 阅读全文
posted @ 2019-04-14 09:44 Pedlar 阅读(908) 评论(0) 推荐(2) 编辑
摘要: 本文所指的I/O均是网络I/O。 一. POSIX对同步、异步I/O的定义 我们先大致看看POSIX对同步、异步的定义,不用细究,重点看我标红的部分就行。 同步I/O会导致请求进程阻塞,直到I/O操作完成; 异步I/O不会导致请求进程阻塞。 二. 同步、异步,阻塞、非阻塞 个人理解同步与否与阻塞与否 阅读全文
posted @ 2019-04-08 22:19 Pedlar 阅读(374) 评论(0) 推荐(0) 编辑
摘要: ArrayList是Java开发中经常用到的集合类,它是List接口的实现类,具有很高的查询性能,但不是线程安全的。本文主要讲述了ArrayList的add(E e)方法及该方法中涉及到的容量扩容技术。 本文大纲 1.ArrayList底层数据结构 2.add(E e)方法流程概览 3.add(E 阅读全文
posted @ 2018-12-24 14:44 Pedlar 阅读(2012) 评论(0) 推荐(0) 编辑
摘要: 主要的话说在前面:在启动日志中没有看到Controller对应的URL被映射,那么请检查你的Controller是否被Spring管理了。此次踩坑就是忘了SpringBoot在没配置@ComponentScan的情况下,默认只扫描和主类处于同包下的Class。 一个很简单的Spring Boot的H 阅读全文
posted @ 2018-10-14 17:31 Pedlar 阅读(18050) 评论(0) 推荐(0) 编辑
摘要: 今天在cnblogs开通了博客,mark一下~ 上半年的Rebase阶段已经完成,希望下半年的Promotion阶段能收获满满,也希望自己能写出高质量的博客。 阅读全文
posted @ 2018-07-10 23:39 Pedlar 阅读(233) 评论(0) 推荐(0) 编辑