![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码
奈文摩尔_NerverMore
热爱技术,喜欢写代码
展开
-
spring的配置加载原理及源码解读
spring的配置是怎样加载的,加载配置的同时都干了什么,配置的先加载后加载造成的影响 1、spring 配置加载 (图1.1.1) spring的配置信息是在spring refresh方法时候在创建beanFactory的时候调用的。 (图1.1.2) (图1.1.3) (图1.1.3.1) 从源码看出spring是按照顺序加载文件中的bean,也就是按照配置文件的原创 2017-01-11 18:42:39 · 6311 阅读 · 1 评论 -
dubbo-服务消费端类图
dubbo框架源码分析之服务消费者 dubbo提供了服务提供者和消费者两种角色,他俩是相辅相成的。而且对于消费者而言也有复杂的处理逻辑。特别是集群模式下和特殊场景下如快速失败,重试啊等等。由于消费者和提供者都是invoker的一种具体示例。具体可看上文invoker类图。 本文只侧重描述消费者结合spring的配置及配置模式类图。 原图地址原创 2017-08-17 22:25:02 · 636 阅读 · 0 评论 -
dubbo--invoker部分类图
**dubbo框架源码分析之invoker**dubbo invoker是真正的执行部分,我们使用时用到的快速失败,限流,集群模式下的负载均衡等都是在这部分实现的。从中能看出设计者和研发者对于设计模式的深刻理解和非常出色的驾驭能力。巧妙的使用了装饰,代理,责任链,策略,工厂等模式。原创 2017-08-17 21:46:55 · 1087 阅读 · 1 评论 -
dubbo--远程调用数据交换层客户端类图
dubbo源码分析之远程调用数据交换层客户端类图**这一篇是描述dubbo消费端实现远程调用数据交换的类图。是上一篇服务端类图的兄弟篇。原创 2017-08-17 22:08:27 · 486 阅读 · 0 评论 -
dubbo--远程调用数据交换层服务端类图
**dubbo源码分析之远程调用数据交换层服务端类图**远程调用(remoting)层是dubbo的进行,数据传输,自定义协议处理,编解码,心跳检测,自动重连等机制的实现层。是dubbo核心层,提现了设计和研发人员对网络编程深厚功底。 由于篇幅的问题这个类图中只针对dubboProtocol和netty通信框架部分的类图也是最常用,官方推荐,性能最好的。后续会继续丰富。原创 2017-08-17 22:02:23 · 685 阅读 · 0 评论 -
dubbo--协议模块类图
**dubbo框架源码分析之协议模块** dubbo的协议部分是dubbo非常重要的一个模块,也是非常重要的一层。是承上启下的一层。从源码和类图中能看出设计的全面性和扩展性,也能感觉到设计和研发人员的高超的技术底蕴和有非常好前瞻性的设计思路。扩展过dubbo框架协议的应该感觉非常爽。原创 2017-08-17 21:31:38 · 709 阅读 · 0 评论 -
AbstractQueuedSynchronizer(AQS)源码解析-续
AQS竞争时内部核心资源,线程队列的变化原创 2017-07-23 22:50:10 · 411 阅读 · 0 评论 -
AbstractQueuedSynchronizer(AQS)源码解析上
AQS独占锁(1)acqurie (2)release原创 2017-07-18 21:22:27 · 323 阅读 · 0 评论 -
AbstractQueuedSynchronizer(AQS)源码解析下
AQS共享锁是AQS更重要的一部分,如Sempahore,CountDownLatch都是基于AQS共享锁实现的。下面就看具体的实现逻辑。 (1)tryAcquireShare (2)releaseShare原创 2017-07-21 11:44:19 · 291 阅读 · 0 评论 -
ThreadPoolExecutor源码详解
最近在整理java concurrent包中的源码总结并把原来的画图完善了下。发现每次翻看的感受都不一样,真是学无止境啊,分享出来大家共同学习吧。 图画的挺乱,笔者想画的丰富详细些特别是一些循环,递归,自旋。也希望大家认真看。希望大家多喷,多讨论,共同提高。 ThreadPoolExecuotr.execute原图地址:这段画图是jdk1.6版本中ThreadPoolExecutor的execu原创 2017-07-17 16:50:40 · 367 阅读 · 0 评论 -
spring+mybatis缓存的问题及源码
最近和金业探讨过mybatis缓存的问题,供大家查阅也正好记录下。 文档中分为三个部分:结论理解,mybatis缓存的源码解析,spring+mybaits的整合及对mybatis的代理以及对mybatis缓存的影响 1、结论在这里 【无事务前提,dao每个sql操作都是一个sqlSession实例在进行操作不可能共用一级缓存。在有事务前提下,同个事务内使用一个sqlSession实例所以这个原创 2017-05-08 16:10:00 · 3153 阅读 · 2 评论 -
spring容器及bean加载机制源码解读
前言:这是本人第一个博客,早就想记录些总结和理解,可一直不知道从哪开始,最近正好在解决一个spring的问题,正好这个问题涉及到了spring的一些相关基础,整理一下就从这部分开始了。 欢迎所有阅读者和爱好者批评从各个方面(特别是文档方面和技术方便)批评,指正。互相交流学习。 原想这部分单写一个文章可无奈文笔有限,先放在这吧。spring的容器加载机制分为提前加载和运行时动态加载,本文通过源码解原创 2017-01-11 12:00:11 · 13759 阅读 · 0 评论 -
spring代理对象的生成及运行机制源码解读
spring有非常多的地方都是使用代理的,但是这些什么使用代理,使用哪种代理,代理是在什么时候创建的,怎么运行起效的。这些问题都会是下面的源码中实现的。 1、代理是怎么创建的,什么时候创建的,为什么创建 spring的代理创建类都是AbstractAutoProxyCreator的子类,这个抽象类同时又是InstantiationAwareBeanPostProcessor的实现类。由于它是Be原创 2017-01-11 16:51:19 · 5673 阅读 · 1 评论 -
spring mvc 父子容器AOP-建言者(切面,事务)的继承
spring 是含有父子容器的机制的,特别是在使用springmvc的情况下,父子容器是非常容易出现的,也是大家常用的。那么父子容器之间的关系到底是怎么样的呢。 之前听说和看别的文章说,springmvc中父容器事务不起效,不要使用父子容器都加载配置信息等,这些会在本文中揭开疑惑。 所以提出了几个疑问,父子容器之间的关系是怎样生成的,父子容器之间的关系是什么样的,父子容器方面有什么特殊实现呢(特原创 2017-01-12 15:23:15 · 3203 阅读 · 1 评论 -
dubbo--服务提供者类图
**dubbo框架源码分析之服务提供者** dubbo是阿里开源的非常优秀的服务框架。它被许多企业使用。也有许多企业在dubbo的基础上进行了扩展,改造,重构。可见它在行业内的地位和影响力。它提供了非常优秀的服务治理解决方案。用官网的话说是【一个分布式、高性能、透明化的RPC服务框架,提供服务自动注册、自动发现等高效服务治理方案.】官网地址 而且dubbo是java编写是jav原创 2017-08-17 21:15:52 · 673 阅读 · 0 评论