我是来自魔都的程序员,众安保险每个月会付我薪水。

本站是我平时写的一些博客文章,主要关注 java 领域相关技术,希望来到这里的读者能找到些有点用的。

最新文章: 深入理解堆外内存 Metaspace (更新于 2019-12-24)

最新文章: HashedWheelTimer 使用及源码分析 (更新于 2019-12-16)

最新文章: 阿里 Sentinel 源码解析 (创建于 2019-10-21,更新: 2019-12-11)

最新文章: Java 字符串常量池介绍 (更新于 2019-10-11)

最新文章: RateLimiter 源码分析(Guava 和 Sentinel 实现) (更新于 2019-08-01)

最新文章: CompletableFuture 使用介绍 (更新于 2019-03-20)

最新文章: Phaser 使用介绍 (更新于 2019-03-02)

最新文章: 认真的 Netty 源码分析(一) (更新于 2018-11-03)

最新文章: 认真的 Netty 源码分析(二) (更新于 2018-11-03)

Java 并发

主要关注 java 并发相关的知识,同时重点分析 java.util.concurrent 这个包下面的源码实现。

开源框架

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 的源码真的有比较深入的了解,那是我最开心的事了。

阿里 Sentinel 源码解析 (更新于 2019-10-21) 这是一个监控、流控、熔断降级工具,非常好用,推荐大家可以试试。这篇文章覆盖了 Sentinel 的主要内容。

设计模式

已成文的这篇文章比较长,基本上我要说的都说完了,这里面已经介绍了我们常用的各种设计模式。

Java 设计模式: 典型的标题很短,但是说的很多

NIO

这里的内容会相对复杂一些

首先,介绍 NIO 三大组件的使用:Java NIO:Buffer、Channel 和 Selector

然后,介绍 Non-Blocking IO 和 JDK7 引入的 Asynchronous IO 的区别: Java 非阻塞 IO 和异步 IO

Tomcat 中的 NIO 源码分析: Tomcat 中的 NIO 可能没什么存在感,因为大家都把目光投向了 Netty,这篇文章会分析 Tomcat 中 NIO 的使用

大家都"喜欢"的 Netty,这个系列是源码分析,已经分析得非常非常具体了,也是花了大量的心血的文章:

在 Java 领域,NIO 是一个比较关键的问题,也希望这几篇文章能真的帮助到各位~~~

JVM

下面两篇文章介绍了各种垃圾收集器:

1、HotSpot JVM 内存管理 (更新于 2018-03-27)

2、G1 垃圾收集器介绍 (更新于 2018-05-08)

算是我偷懒了,应该再写一篇完善下整个系列的,以后有空补吧。

深入理解堆外内存 Metaspace (更新于 2019-12-24) 这篇文章深入地介绍了 Metaspace,包括它的一些内部实现细节。这篇文章不难,内容非常容易理解。

实践

介绍一些经常会碰到的问题,这部分极少分析原理,都是一些生产实践

Reactive Programing

CompletableFuture 使用介绍 (更新于 2019-03-20)

其他

HashedWheelTimer 使用及源码分析:这是 Netty 中提供的执行延时任务的工具。