摘要: 1. QuorumPeerMain运行 1)判断是采用单实例模式还是多实例模式启动QuorumPeerMain 2)在多实例模式下,加载启动参数中指定的配置文件 3)启动QuorumPeer 2. QuorumPeer启动 1)监听客户端连接 2)确认选举算法,监听选举端口 3)启动服务(run), 阅读全文
posted @ 2019-02-27 13:38 Uncle_Bjorney 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 1. 注册BeanFactoryTransactionAttributeSourceAdvisor @EnableTransactionManagement --> @Import(TransactionManagementConfigurationSelector.class) --> 注册Pro 阅读全文
posted @ 2019-02-25 17:37 Uncle_Bjorney 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1. 注册AnnotationAwareAspectJAutoProxyCreator @EnableAspectJAutoProxy --> @Import(AspectJAutoProxyRegistrar.class) --> 注册AnnotationAwareAspectJAutoProxy 阅读全文
posted @ 2019-02-25 13:47 Uncle_Bjorney 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 1. 循环依赖类别 1)构造参数依赖:无解 2)属性依赖:对多实例Bean无解,对单实例Bean采用earlySingletonExposure策略 处理beanB依赖: createBean(beanA) -> addSingletonFactory(beanA) -> populateBean( 阅读全文
posted @ 2019-02-23 23:58 Uncle_Bjorney 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 1. BeanFactoryPostProcessor调用(见AbstractApplicationContext.invokeBeanFactoryPostProcessors): >> 创建DefaultListableBeanFactory --> loadBeanDefinitions 1) 阅读全文
posted @ 2019-02-23 21:06 Uncle_Bjorney 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 1. master选举(LeaderSelector) 1)LeaderSelector构造函数 在leaderPath上建立分布式锁:mutex = new InterProcessMutex(client, leaderPath) 2)LeaderSelector.start 当前WorkSer 阅读全文
posted @ 2018-01-22 21:14 Uncle_Bjorney 阅读(335) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch、Semaphore(信号量)和ReentrantReadWriteLock.ReadLock(读锁)都采用AbstractOwnableSynchronizer共享排队的方式实现。 关于AbstractQueuedSynchronizer中的独占锁和共享锁,请参考Ree 阅读全文
posted @ 2018-01-22 15:28 Uncle_Bjorney 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 1. String类的两个构造方法 2. new String中创建几个String对象? 1)创建两个String对象 内存模型如下: 2)创建一个String对象 内存模型如下: 3. String的intern方法 String类私有地维护着一个初始为空的字符串池,当调用intern方法时: 阅读全文
posted @ 2018-01-16 12:29 Uncle_Bjorney 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 1. 泛型擦除 泛型是在 Jdk1.5 之后引入的,为了使字节码向前兼容,Java编译器会在编译时擦除泛型信息(泛型擦除)。假使有泛型类Xx<T>,对其进行反射并打印类中的泛型方法: 打印信息如下: 2. 桥接方法 假使有类Xx2继承自Xx<String>,则显然Xx2并未覆盖Xx中的两个方法: 1 阅读全文
posted @ 2018-01-15 17:58 Uncle_Bjorney 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 1. 变量和构造方法 2. 生产(put、offer) 3. 消费(take、poll) 4. 加全锁(remove) 阅读全文
posted @ 2017-12-27 11:00 Uncle_Bjorney 阅读(209) 评论(0) 推荐(0) 编辑