2019年10月13日

摘要: 第一节介绍Spring启动(链接)时,介绍AbstractApplicationContext的过销毁过程,主要是调用了内部的destroyBeans方法,这节便来介绍bean的销毁过程。 一.销毁流程 destroyBeans方法内部委托给了DefaultSingletonBeanRe 阅读全文
posted @ 2019-10-13 11:21 啊驼 阅读 (27) 评论 (0)
 

2019年10月6日

摘要: 第一节讲解Spring启动的时候说到,Spring内部先解析了所有的配置,加载所有的Bean定义后,再根据需要对Bean进行实例化和初始化。除开Spring自己主动新建的对象,第一次根据Bean定义加载对象的动作出现在AbstractApplicationContext的invokeBe 阅读全文
posted @ 2019-10-06 10:27 啊驼 阅读 (97) 评论 (0)
 

2019年10月4日

摘要: 前面提到AbstractRefreshableApplicationContext在刷新BeanFactory时,会调用loadBeanDefinitions方法以加载系统中Bean的定义,下面将讲解Bean定义的加载过程。 一.XML定义  XML配置的加载由Abstract 阅读全文
posted @ 2019-10-04 16:08 啊驼 阅读 (25) 评论 (0)
 

2019年10月3日

摘要: 这节介绍environment,默认环境变量的加载以及初始化。  之前在介绍spring启动过程讲到,第一步进行环境准备时就会初始化一个StandardEnvironment。下图为Environment类图的接口,可以分为4块内容: 1. ConversionService( 阅读全文
posted @ 2019-10-03 07:04 啊驼 阅读 (83) 评论 (0)
 

2019年10月2日

摘要: Spring用了挺久的了,但是没系统做过总结,刚好前段时间在做一个Spring封装的项目,趁机回顾了下,便基于Spring framework 4.3.22做了源码分析。  刚开始接触Spring时的入门例子大致如下:  设置配置文件路径,初始化Application 阅读全文
posted @ 2019-10-02 14:00 啊驼 阅读 (196) 评论 (0)
 

2019年10月1日

摘要: 前面介绍了sentinel core的流程,提到在进行流控判断时,会判断当前是本地限流,还是集群限流,若是集群模式,则会走另一个分支,这节便对集群模式做分析。 一.基本概念  namespace:限流作用于,用于区分一个规则作用于什么范围  flowId:代表全局唯一 阅读全文
posted @ 2019-10-01 08:11 啊驼 阅读 (85) 评论 (0)
 

2019年9月30日

摘要: 上次介绍了Sentinel的基本概念,并在文章的最后介绍了基本的用法。这次将对用法中的主要流程和实现做说明,该部分主要涉及到源码中的sentinel core模块。 1.token获取   如上为token获取的主流程,首先会先获取线程的上下文对象Context,然后根据Res 阅读全文
posted @ 2019-09-30 09:08 啊驼 阅读 (33) 评论 (0)
 

2019年9月29日

摘要: Sentinel是阿里开源的一款高性能的限流框架。这里将对Sentinel的使用和实现进行介绍。  这里先介绍下Sentinel中涉及到的基本概念,包括使用上或者实现上。主要是笔者在阅读文档和源码时经常会接触到的对象。 Resource  资源是整个Sentinel最 阅读全文
posted @ 2019-09-29 09:23 啊驼 阅读 (46) 评论 (0)
 
摘要: 这篇是关于JAVA中EOF标识的讲解,之前在工作上碰到过一个问题,有人问过,不能通过判断EOF来知道文件有没有读取完毕吗?其实,还真不能。  直接从JDK接口文档入手,以FileInputStream为例,JDK接口文档给出了明确的说明:  使用FileInputSt 阅读全文
posted @ 2019-09-29 09:14 啊驼 阅读 (32) 评论 (0)
 

2019年9月27日

摘要: 介绍常见的分布式一致性协议 一.CAP/BASE 1. CAP理论  CAP理论又称之为布鲁尔定理(Brewer’S theorem),认为在设计一个大规模可扩放的网络服务时候不能同时兼容:一致性(consistency)、可用性(Availability)、分区容错(Part 阅读全文
posted @ 2019-09-27 07:55 啊驼 阅读 (171) 评论 (0)