- 博客(21)
- 资源 (1)
- 收藏
- 关注

原创 dubbo--服务提供者类图
**dubbo框架源码分析之服务提供者** dubbo是阿里开源的非常优秀的服务框架。它被许多企业使用。也有许多企业在dubbo的基础上进行了扩展,改造,重构。可见它在行业内的地位和影响力。它提供了非常优秀的服务治理解决方案。用官网的话说是【一个分布式、高性能、透明化的RPC服务框架,提供服务自动注册、自动发现等高效服务治理方案.】官网地址 而且dubbo是java编写是jav
2017-08-17 21:15:52
745

原创 spring mvc 父子容器AOP-建言者(切面,事务)的继承
spring 是含有父子容器的机制的,特别是在使用springmvc的情况下,父子容器是非常容易出现的,也是大家常用的。那么父子容器之间的关系到底是怎么样的呢。 之前听说和看别的文章说,springmvc中父容器事务不起效,不要使用父子容器都加载配置信息等,这些会在本文中揭开疑惑。 所以提出了几个疑问,父子容器之间的关系是怎样生成的,父子容器之间的关系是什么样的,父子容器方面有什么特殊实现呢(特
2017-01-12 15:23:15
3298
原创 博客竟然被黑了
今天登录博客,突然发现被禁止了,说是违反了规则,不过和管理员联系,马上就响应了。查看了登录记录和博客管理,发现文章被删了。吓得我赶紧修改了密码。后续被删除的文章我后续会补上的。 此处留一个小小的建议,建议删除和修改的,可以定期留一些快照留存。
2017-09-22 16:06:34
1229
原创 dubbo-服务消费端类图
dubbo框架源码分析之服务消费者 dubbo提供了服务提供者和消费者两种角色,他俩是相辅相成的。而且对于消费者而言也有复杂的处理逻辑。特别是集群模式下和特殊场景下如快速失败,重试啊等等。由于消费者和提供者都是invoker的一种具体示例。具体可看上文invoker类图。 本文只侧重描述消费者结合spring的配置及配置模式类图。 原图地址
2017-08-17 22:25:02
718
原创 dubbo--远程调用数据交换层客户端类图
dubbo源码分析之远程调用数据交换层客户端类图**这一篇是描述dubbo消费端实现远程调用数据交换的类图。是上一篇服务端类图的兄弟篇。
2017-08-17 22:08:27
554
原创 dubbo--远程调用数据交换层服务端类图
**dubbo源码分析之远程调用数据交换层服务端类图**远程调用(remoting)层是dubbo的进行,数据传输,自定义协议处理,编解码,心跳检测,自动重连等机制的实现层。是dubbo核心层,提现了设计和研发人员对网络编程深厚功底。 由于篇幅的问题这个类图中只针对dubboProtocol和netty通信框架部分的类图也是最常用,官方推荐,性能最好的。后续会继续丰富。
2017-08-17 22:02:23
755
原创 dubbo--invoker部分类图
**dubbo框架源码分析之invoker**dubbo invoker是真正的执行部分,我们使用时用到的快速失败,限流,集群模式下的负载均衡等都是在这部分实现的。从中能看出设计者和研发者对于设计模式的深刻理解和非常出色的驾驭能力。巧妙的使用了装饰,代理,责任链,策略,工厂等模式。
2017-08-17 21:46:55
1194
1
原创 dubbo--协议模块类图
**dubbo框架源码分析之协议模块** dubbo的协议部分是dubbo非常重要的一个模块,也是非常重要的一层。是承上启下的一层。从源码和类图中能看出设计的全面性和扩展性,也能感觉到设计和研发人员的高超的技术底蕴和有非常好前瞻性的设计思路。扩展过dubbo框架协议的应该感觉非常爽。
2017-08-17 21:31:38
765
原创 AbstractQueuedSynchronizer(AQS)源码解析下
AQS共享锁是AQS更重要的一部分,如Sempahore,CountDownLatch都是基于AQS共享锁实现的。下面就看具体的实现逻辑。 (1)tryAcquireShare (2)releaseShare
2017-07-21 11:44:19
325
原创 ThreadPoolExecutor源码详解
最近在整理java concurrent包中的源码总结并把原来的画图完善了下。发现每次翻看的感受都不一样,真是学无止境啊,分享出来大家共同学习吧。 图画的挺乱,笔者想画的丰富详细些特别是一些循环,递归,自旋。也希望大家认真看。希望大家多喷,多讨论,共同提高。 ThreadPoolExecuotr.execute原图地址:这段画图是jdk1.6版本中ThreadPoolExecutor的execu
2017-07-17 16:50:40
414
原创 spring事务的传播机制
这两天整理spring aop和spring事务的东西。顺便把自己对于spring事务的隔离机制的理解整理了下。 问题: spring事务传播机制都有几种,他们的特性是什么,用不好会不会踩坑。 源码实现为(DataSourceTransactionManager ,AbstractPlatformTransactionManager)最好多看源码有自己的理解。事务传播性的描述及理解:
2017-06-02 18:54:20
1089
原创 spring事务拦截器类图
从图中看出,TransactionInterceptor是MethodInterceptor更是Advice的实现类,说明spring事务一定是基于方法。 Interceptor拦截器是Advice建言的扩展子接口,虽然啥都没实现。 MethodInvocation 是aop用来方法调用的接口。上图中说过jdk和cglib动态代理中有个核心依赖的ReflectiveMethodInvocatio
2017-06-02 18:38:47
1142
原创 spring事务建言者创建类图
从图中看出,spring 建言者有一个子类PointcutAdvisor是一个持有pointCut的建言者。也就是这个建言者可以针对不同的场景进行生效。 PointCut是根据类和方法拦截的一个拦截配置定义类。 AbstractBeanFactoryPointcutAdvisor 是PointcutAdvisor的工厂模板类负责提供建言,pointCut BeanFactoryTransact
2017-06-02 18:21:05
470
原创 spring代理的类图
希望达到目的: spring两种代理的区别(间接说明spring代理的选择),两种代理的核心依赖 从图中看出JdkDynamicAopProxy和CglibAopProxy区别在于CglibAopProxy是使用Enhancer(spring asm技术生成代理对象)而JdkDynamicAopProxy是InvocationHandler接口的实现(是基于JDK 动态代理实现的)这也是Defa
2017-06-02 17:58:14
739
原创 spring代理工厂类图
最近在整理和复习spring事务控制,顺便复习了下spring aop,也顺便调整下博客的风格。 这个系列包括 (1)spring 代理工厂 (2)spring 代理的类图 (3)spring事务的配置 (4)spring事务拦截器实现 本文中希望达到的目标: 通过类图展示出spring代理工厂是怎么实现的、主要方法都有哪些,都依赖什么核心类,这些类的职责是什么及使用场景,希望能从类图
2017-06-02 17:48:10
1063
原创 spring+mybatis缓存的问题及源码
最近和金业探讨过mybatis缓存的问题,供大家查阅也正好记录下。 文档中分为三个部分:结论理解,mybatis缓存的源码解析,spring+mybaits的整合及对mybatis的代理以及对mybatis缓存的影响 1、结论在这里 【无事务前提,dao每个sql操作都是一个sqlSession实例在进行操作不可能共用一级缓存。在有事务前提下,同个事务内使用一个sqlSession实例所以这个
2017-05-08 16:10:00
3205
1
原创 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
6414
原创 spring代理对象的生成及运行机制源码解读
spring有非常多的地方都是使用代理的,但是这些什么使用代理,使用哪种代理,代理是在什么时候创建的,怎么运行起效的。这些问题都会是下面的源码中实现的。 1、代理是怎么创建的,什么时候创建的,为什么创建 spring的代理创建类都是AbstractAutoProxyCreator的子类,这个抽象类同时又是InstantiationAwareBeanPostProcessor的实现类。由于它是Be
2017-01-11 16:51:19
5780
1
原创 spring容器及bean加载机制源码解读
前言:这是本人第一个博客,早就想记录些总结和理解,可一直不知道从哪开始,最近正好在解决一个spring的问题,正好这个问题涉及到了spring的一些相关基础,整理一下就从这部分开始了。 欢迎所有阅读者和爱好者批评从各个方面(特别是文档方面和技术方便)批评,指正。互相交流学习。 原想这部分单写一个文章可无奈文笔有限,先放在这吧。spring的容器加载机制分为提前加载和运行时动态加载,本文通过源码解
2017-01-11 12:00:11
13916
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人