Java 并发
主要关注 java 并发相关的知识,同时重点分析 java.util.concurrent 这个包下面的源码实现。
- 一行一行源码分析清楚 AbstractQueuedSynchronizer
- 一行一行源码分析清楚 AbstractQueuedSynchronizer(二)
- 一行一行源码分析清楚 AbstractQueuedSynchronizer(三)
- 解读 Java 并发队列 BlockingQueue
- 深入分析 Java 8 编程语言规范:Threads and Locks
- 深度解读 Java 线程池设计思想及源码实现
- Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析
- Java 并发基础之内存模型:重点给大家推荐下
- Java 读写锁 ReentrantReadWriteLock 源码分析
设计模式
已成文的这篇文章比较长,基本上我要说的都说完了。
开源框架
1、Spring IOC 容器源码分析:这篇文章从 Spring IOC 容器的启动过程,分析了 Spring 是怎样管理 bean 的,文章稍微有点长,不过介绍得还是比较细致的。
虽然承诺了会持续更新该系列文章,不过 2018 年的工作强度明显加大,导致一拖再拖,非常抱歉。
2、Spring AOP 使用介绍,从前世到今生(更新于 2018-06-19):由于 618 年中大促活动,该文也从 5 月份拖到了现在。这篇文章不介绍源码,而是从 Spring AOP 的演进过程介绍了几种配置方式,相信能帮助读者理清楚很多知识点。
3、Spring AOP 源码解析(更新于 2018-07-24)这篇文章来得有点晚了,真的非常抱歉,希望大家在看本文的时候,有前面两篇文章的基础,尤其是第二篇文章中对于 Spring AOP 的使用介绍。
AspectJ 使用介绍 (更新于 2018-07-02):这篇文章和 Spring AOP 没有关系,作为想要了解 AOP 编程的读者的参考资料吧。我本以为很快能成文的,看来我对自己有比较多的误解。这篇文章介绍 AspectJ 的 3 种使用方式,此文比较短,很快看完的。
可能 Spring 的源码分析会告一段落了,希望读者看完上面的三篇文章,对 Spring 的源码真的有比较深入的了解,那是我最开心的事了。
NIO
首先,介绍 NIO 三大组件的使用:Java NIO:Buffer、Channel 和 Selector
然后,介绍 Non-Blocking IO 和 JDK7 引入的 Asynchronous IO 的区别: Java 非阻塞 IO 和异步 IO
为了让大家了解 Java NIO 在生产中的使用,我写了这篇:Tomcat 中的 NIO 源码分析
后面的计划:有时间的话,还是会分享一下关于 Netty 的源码。
2018-07-24 更:写完了 Spring AOP 了,刚好最近有些时间,准备写写 Netty。
JVM
下面两篇文章介绍了各种垃圾收集器:
- HotSpot JVM 内存管理 (更新于 2018-03-27)
- G1 垃圾收集器介绍 (更新于 2018-05-08)
算是我偷懒了,应该再写一篇完善下整个系列的,以后有空补吧。
实践
这部分的内容都比较精简,一般不深入原理。