/images/avatar.jpg

好久不见,别来无恙

ENU/ECEF/WGS84坐标系理解

ENU/ECEF/WGS84坐标系理解

核心概念

/posts/202512/ecef_enu_wgs84/assets/ecef.png

定义

ecef的z轴指向北极,x轴是本初子午线和赤道的交汇处,由地心指向,y轴则是满足右手坐标系

wgs84定义在椭球面上,LLA(对应x轴方向夹角经度lon,z方向夹角维度lat,和相对于椭球面高度alt)

spring源码理解bean生命周期

spring IOC 源码理解

注:本文参考 spring版本6.2.10,各个大版本可能有一些细微区别,但大致原理相同

  • 本文不准备贴大段的代码,那个并没有什么特别的意义,除非特别关键的。阅读框架的思想是抽象大于细节,找到最高层次的抽象,找到入口函数。理解思想。对于spring bean 的ioc容器,而且最后搜集到一个concurrenthashmap中去。主线就是bean的生命周期管理。从bean的搜集->初始化->成熟->销毁。这是一个相当简化的模型,结合了相当多的回调函数,但是核心还是继承了beanFactoryPostProcessor和beanPostProcessor这两个接口,甚至你会发现所谓的bean搜集,就是beanFactoryPostProcessor的子接口BeanDefinitionRegistryPostProcessor的做的,aop切面则是beanPostProcessor做的。
  • spring beans这个包有着比较重要的几个抽象接口,下面依次说明。在阅读代码的时候建议之间查看uml图,重点查看继承关系,特别是这种框架代码很多模版方法,很多具体的细节在抽象类而不是具体实现类。

spring IOC

入口函数

spring的最重要的函数是AbstractApplicationContext的refresh函数,这里是一切的起点。建议阅读源码的时候从这里开始打断点,你可以一步一步进去看看是怎么做的。