摘要: 前言 csapp(黑皮书之一)是计算机底层的百科全书,是世界一流学校的教材。作者是CMU计科院长,至今为止,CMU计科仍在世界顶尖。 此书涵盖知识面非常广,并且讲的很透彻,回答了我之前疑惑的“为什么这么设计”的问题。 链接: 深入理解计算机系统(一) 二进制数字系统(bit,整数,浮点数详解) 背景 阅读全文
posted @ 2022-10-30 19:46 Duikerdd 阅读(483) 评论(0) 推荐(1) 编辑
摘要: 概念 springboot在启动流程中最重要的事情便是加载启动spring组件,比如加载IOC容器,启动springMVC等。 实现原理 使用AnnotationConfigServletWebServerApplicationContext(下面简称为上下文)加载和启动spring组件。其中注册的 阅读全文
posted @ 2022-10-30 16:54 Duikerdd 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 概念 springboot在启动流程中会把环境配置都加载进应用当中。 实现原理 使用环境配置器用来加载和解析所有配置文件。配置文件会被抽象成PropertySource对象存储。 uml类图 环境配置流程 源码剖析 环境配置 /** SpringApplication.class 环境配置 **/ 阅读全文
posted @ 2022-10-30 16:18 Duikerdd 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 概念 springboot在启动流程中会发布一些事件通知依赖组件进行主动更新。 原理是springboot使用到的一种设计模式: 观察者模式。优点是解耦合启动流程,增加了spring的扩展性。 实现原理 被观察者会维护一个事件发布器,事件发布器会注册持有监听者(观察者)的引用。 当被观察者发生状态改 阅读全文
posted @ 2022-10-30 15:08 Duikerdd 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 前言 之前阅读STL(C++)源码的时候,有所感悟: 大佬的代码总会实践到部分设计模式、新型语法特性,亦或是精巧的算法和数据结构。 读源码的技巧:大局入手,之后细细品味,重点地方做到逐行阅读。 故学习源码也是提升自己认知和能力的一种途径,本篇章主要介绍springboot源码相关。 链接: spri 阅读全文
posted @ 2022-10-30 13:42 Duikerdd 阅读(58) 评论(0) 推荐(0) 编辑