Loading

摘要: BeanDefinition 的概念也了解了,也知道一个 Bean 在 Spring 中定义的信息有哪些之后,继续言归正传。 阅读全文
posted @ 2021-01-19 11:03 程序员小航 阅读(568) 评论(0) 推荐(0) 编辑
摘要: BeanDefinition:顾名思义,就是 Bean 的定义,是用来描述一个 Bean 都有什么信息。前面说在初始化 `DefaultListableBeanFactory` 时,会初始化一个 `Map 阅读全文
posted @ 2021-01-19 11:02 程序员小航 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 初始化容器 与 DefaultListableBeanFactory 阅读全文
posted @ 2020-12-03 08:32 程序员小航 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 根据元数据配置方式不同,对应的几种创建容器的方式 阅读全文
posted @ 2020-12-02 08:31 程序员小航 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 在前一篇文章中介绍了如何构建源码阅读环境,既然构建好了源码环境,本地也可以正常运行,那就开始阅读源码吧! 阅读全文
posted @ 2020-12-01 12:15 程序员小航 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 本文记录了 Spring 源码环境的搭建方式,以及踩过的那些坑!​当前版本:5.3.2-SNAPSHOT。 阅读全文
posted @ 2020-11-27 10:15 程序员小航 阅读(2209) 评论(0) 推荐(0) 编辑
摘要: 有小伙伴反馈说希望可以自定义 Markdown 模版,这样就可以导出自己想要的样式了!这个功能可以有,毕竟大家不可能都生成一模一样的文档。现在来一起看看如何实现自定义模版吧! 阅读全文
posted @ 2020-11-24 10:15 程序员小航 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 自从 DocView 发布了简陋的第一版之后,就不断地有小伙伴提建议意见等等,希望扩展各种功能。这不,时隔两周,DocView 又发布了新版本,本次的更新主要涉及到支持 Dubbo,以及支持导出单个文档为 Markdown 文件。来一起看看新功能吧! 阅读全文
posted @ 2020-11-19 10:18 程序员小航 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 前面在学习 JUC 源码时,很多代码举例中都使用了线程池 ThreadPoolExecutor ,并且在工作中也经常用到线程池,所以现在就一步一步看看,线程池的源码,了解其背后的核心原理。 阅读全文
posted @ 2020-11-16 10:40 程序员小航 阅读(373) 评论(0) 推荐(1) 编辑
摘要: 相信大家都遇到一种事务失效场景,那就是 Spring 自调用,就是在 Service 方法内,调用另一个加 @Transactional 注解的方法,发现事务失效,这时候你是怎么解决的呢? 阅读全文
posted @ 2020-11-09 07:52 程序员小航 阅读(578) 评论(2) 推荐(1) 编辑
摘要: JUC 下面还有一个系列的类,都是 CopyOnWriteXXX ,意思是写时复制,这个究竟是怎么回事?那就以 CopyOnWriteArrayList 为切入点,一起了解写时复制是怎么回事? 阅读全文
posted @ 2020-11-08 22:31 程序员小航 阅读(60) 评论(0) 推荐(0) 编辑
摘要: JUC 下面的相关源码继续往下阅读,这就看到了非阻塞的无界线程安全队列 —— ConcurrentLinkedQueue,来一起看看吧。 阅读全文
posted @ 2020-11-08 22:27 程序员小航 阅读(163) 评论(0) 推荐(0) 编辑
摘要: APP 莫名崩溃,开始以为是 Header 中 name 大小写的锅,最后发现原来是容器的错! 阅读全文
posted @ 2020-11-08 22:26 程序员小航 阅读(482) 评论(0) 推荐(0) 编辑
摘要: 新项目查日志太麻烦,多台机器之间查来查去,还不知道是不是同一个请求的。打印日志时使用 MDC 在日志上添加一个 traceId,那这个 traceId 如何跨系统传递呢? 阅读全文
posted @ 2020-11-08 22:23 程序员小航 阅读(1815) 评论(0) 推荐(0) 编辑
摘要: 又要开始新项目了,一顿操作猛如虎,梳理流程加画图。这不,开始对流程及表结构了。 阅读全文
posted @ 2020-11-08 22:21 程序员小航 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 上一节看了基于数据的有界阻塞队列 ArrayBlockingQueue 的源码,通过阅读源码了解到在 ArrayBlockingQueue 中入队列和出队列操作都是用了 ReentrantLock 来保证线程安全。下面咱们看另一种有界阻塞队列:LinkedBlockingQueue。 阅读全文
posted @ 2020-11-08 22:14 程序员小航 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 在介绍 AQS 时,其中有一个内部类叫做 ConditionObject,当时并没有进行介绍,并且在后续阅读源码时,会发现很多地方用到了 Condition ,这时就会很诧异,这个 Condition 到底有什么作用?那今天就通过阅读 Condition 源码,从而弄清楚 Condition 到底是做什么的?当然阅读这篇文章的时候希望你已经阅读了 AQS、ReentrantLock 以及 LockSupport 的相关文章或者有一定的了解(~~当然小伙伴也可以直接跳到文末看总结~~)。 阅读全文
posted @ 2020-11-08 22:10 程序员小航 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 在 JUC 中线程同步器除了 CountDownLatch 和 CycleBarrier ,还有一个叫做 Semaphore (信号量),同样是基于 AQS 实现的。下面来看看信号量的内部原理。 阅读全文
posted @ 2020-11-08 22:08 程序员小航 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 近期做新项目,在设计表结构的时候,突然想起来之前面试的时候遇到的一个问题,那时候也是初出茅庐,对很多东西一知半解(当然现在也是),当时那个小哥哥问我为什么交易和退款要拆成两个表?是基于什么考虑?有什么好处和优点么? 阅读全文
posted @ 2020-11-08 22:06 程序员小航 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 看完 CountDownLatch 正准备表示一番,突然看到了一个 CyclicBarrier —— 回环屏障。沃特?回环还屏障?说比 CountDownLatch 要多一个回环,那咱可得瞧一瞧,看一看了! 阅读全文
posted @ 2020-11-08 17:52 程序员小航 阅读(81) 评论(0) 推荐(0) 编辑