spring 的后置处理器是 spring 生态得以繁荣的一个重要基础, 大量流行的框架都使用了各种类型的 PostProcessor 增强了自身的能力, 并为开发者提供了无数便利;
希尔的博客
兰之猗猗,扬扬其香。不采而佩,于兰何伤?
-
-
缓存经典问题总结
缓存系统的三个常见概念: 缓存穿透、缓存击穿、缓存雪崩, 有区别又有联系, 十分容易混淆, 值得用一篇文章去学习记录一下;
-
git rebase 使用总结
git rebase 是一个充满争议的命令, 推崇者赞不绝口, 反对者避而远之;
-
kafka 的日志存储结构
kafka 的日志存储结构设计充分体现了什么叫做 现代化消息系统, 这也是其区别于上个时代的 rabbitmq、activemq 等前辈的最主要优势;
本文尝试梳理一下 kafka 日志结构的基本原理; -
kafka 老司机装逼必备知识
kafka 的全球流行让程序员的圈子里多了一项装逼的手段, 如果对 kafka 的各种冷门细节知识都了如指掌, 一起聊天的人一定会认为你是一个浸淫 kafka 多年的老司机, 钦佩之情油然而生!
为了装逼, 再琐碎的细节都要在这篇文章里一起吃掉, 更何况这个过程本身也充满乐趣呢! -
PropertySourcesPlaceholderConfigurer 的原理
PropertySourcesPlaceholderConfigurer 是 Spring 框架中用于解析属性占位符 (如 ${property.name}) 的类, 它通过读取配置文件 (如 .properties 文件) 并将这些属性值注入到 Spring 的 BeanDefinition 中;
PropertySourcesPlaceholderConfigurer 代替了之前的 PropertyPlaceholderConfigurer, -
java.lang.Thread 类基础知识整理
java 多线程操作是我们日常频繁使用的技术之一, 然而我们在熟练使用多线程开发的同时, 也要注意基础的夯实, 关于 java 线程在虚拟机层面及操作系统层面的技术支持, 也应当有一个清楚的了解;
-
ThreadPoolExecutor 学习备忘总结
线程池是程序员的 java 重要基本功之一, 也是在生产实践中最频繁使用的技术之一, 所以对线程池的深刻理解是一件十分必要的事情;
本文主要梳理与 ThreadPoolExecutor 相关的知识与使用注意点, 方便工作中参考与陷阱避免; -
springboot starter 的编写
编写一个 springboot starter 是一个很实用的需求, 特别是当想要封装一些通用的功能或配置, 以便在不同的项目中低成本复用; springboot starter 本质上是一个 maven 或 gradle 模块, 它包含了自动配置类、依赖管理和其他必要的资源;
-
mybatis 的框架原理
mybatis 是一个设计十分优秀的框架, 其使用 java 原生的动态代理为使用者带来了 “仅定义接口, 无需具体实现, 完成 ORM 映射操纵数据库” 的巨大便利, 成为 java 应用中最受欢迎的轻量级 ORM 框架;
本文尝试探究一下 mybatis 动态代理的实现原理, 以及其在 spring 中的引导逻辑 (但不涉及具体的 ORM 映射逻辑);