Paxos 多个Acceptor,多个Proposer。 提案 [M, V] 由编号M 和值 V 组成 Acceptor 规则 接受收到的第一个提案 如果收到的提案的编号比已...
Paxos 多个Acceptor,多个Proposer。 提案 [M, V] 由编号M 和值 V 组成 Acceptor 规则 接受收到的第一个提案 如果收到的提案的编号比已...
目的 通过共享存储,实现分布式系统的任务协调。以共享存储,data tree为基础,开发者可以在zookeeper上实现分布式锁,主从架构等。保障AP 基本模型 存储 类文件...
组件 annotation读取主要涉及以下组件 AnnotatedBeanDefinitionReader - 读取并注册指定class(es) ClassPathBeanD...
XML bean def conf 读取 BeanDefinitionReader XmlBeanDefinitionReader 遵循 BeanDefinitionRead...
HandlerAdapter AbstracthandlerMethodAdapter 将handler 限定为 HandlerMethod提供模版方法supportsInt...
HandlerMapping 根据 Request 匹配handler 返回 HandlerExecutionChain。 HandlerExecutionChain 包含一...
初始化 初始化过程从 Web容器调用 DispatcherServlet Servlet.init() 方法开始。实际调用到 HttpServletBean.init() H...
勾勒一下Tomcat启动的流程,以便后续查找。(基于Tomcat 8.5.16) Bootstrap initClassLoaders() 创建以下类加载器,一般catali...
maven 项目骨架生成工具 基本约定 源码 src/main/java 资源 src/main/resources 测试源码 src/test/java 测试资源 src/...
Montior 锁 通过插入 monitorenter/monitorexit 来实现同步块 锁存在 Object Header 里的 Mark Word 上。Mark Wo...
Lock vs Synchorized Lock 超时获取 可中断获取 非阻塞获取 AbstractQueuedSynchronizer Lock 的实现基础,实现了基于队列...
简单梳理一下Tomcat 的请求处理流程。Protocol 以Http11NioProtocol为例。 初始化 首先需要初始化 Connector 的各个组件 Connect...
Server 顶级组件,包含多个 Service。 Service 服务抽象,包含从接受请求 (Connector, Mapper) 到处理 (Adapter, Engine...
Servlet init(ServletConfig config)service(ServletRequest req, ServletResponse resp)dest...
定义 Zip file. Archive of classes 和一个META-INFO directory (optional) 结构 META-INFO Director...
ThreadLocal 在Thread 上保存了一个ThreadLocalMap,以ThreadLocal object 的hash 为key, thread local o...
Queue message buffer. consumer reads messages from Queue. Exchange producer sends messa...
Spring AOP 的实现 Spring AOP 不同于 AspectJ 的 AOP 实现,是在 runtime,通过代理原本的 object 来实现的。由于 Spring...
Pointcut 切点,定义切面的位置。Spring 中的切点可以在class 或者method 上。所有的Pointcut 都遵循下面的interface matches(...