自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

songyang19871115的博客

只有总结、思考、分享才能更好

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

原创 dubbo--服务提供者类图

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

2017-08-17 21:15:52 654

原创 spring mvc 父子容器AOP-建言者(切面,事务)的继承

spring 是含有父子容器的机制的,特别是在使用springmvc的情况下,父子容器是非常容易出现的,也是大家常用的。那么父子容器之间的关系到底是怎么样的呢。 之前听说和看别的文章说,springmvc中父容器事务不起效,不要使用父子容器都加载配置信息等,这些会在本文中揭开疑惑。 所以提出了几个疑问,父子容器之间的关系是怎样生成的,父子容器之间的关系是什么样的,父子容器方面有什么特殊实现呢(特

2017-01-12 15:23:15 3174 1

原创 博客竟然被黑了

今天登录博客,突然发现被禁止了,说是违反了规则,不过和管理员联系,马上就响应了。查看了登录记录和博客管理,发现文章被删了。吓得我赶紧修改了密码。后续被删除的文章我后续会补上的。 此处留一个小小的建议,建议删除和修改的,可以定期留一些快照留存。

2017-09-22 16:06:34 1179

原创 dubbo-服务消费端类图

dubbo框架源码分析之服务消费者 dubbo提供了服务提供者和消费者两种角色,他俩是相辅相成的。而且对于消费者而言也有复杂的处理逻辑。特别是集群模式下和特殊场景下如快速失败,重试啊等等。由于消费者和提供者都是invoker的一种具体示例。具体可看上文invoker类图。 本文只侧重描述消费者结合spring的配置及配置模式类图。 原图地址

2017-08-17 22:25:02 628

原创 dubbo--远程调用数据交换层客户端类图

dubbo源码分析之远程调用数据交换层客户端类图**这一篇是描述dubbo消费端实现远程调用数据交换的类图。是上一篇服务端类图的兄弟篇。

2017-08-17 22:08:27 473

原创 dubbo--远程调用数据交换层服务端类图

**dubbo源码分析之远程调用数据交换层服务端类图**远程调用(remoting)层是dubbo的进行,数据传输,自定义协议处理,编解码,心跳检测,自动重连等机制的实现层。是dubbo核心层,提现了设计和研发人员对网络编程深厚功底。 由于篇幅的问题这个类图中只针对dubboProtocol和netty通信框架部分的类图也是最常用,官方推荐,性能最好的。后续会继续丰富。

2017-08-17 22:02:23 676

原创 dubbo--invoker部分类图

**dubbo框架源码分析之invoker**dubbo invoker是真正的执行部分,我们使用时用到的快速失败,限流,集群模式下的负载均衡等都是在这部分实现的。从中能看出设计者和研发者对于设计模式的深刻理解和非常出色的驾驭能力。巧妙的使用了装饰,代理,责任链,策略,工厂等模式。

2017-08-17 21:46:55 1052 1

原创 dubbo--协议模块类图

**dubbo框架源码分析之协议模块** dubbo的协议部分是dubbo非常重要的一个模块,也是非常重要的一层。是承上启下的一层。从源码和类图中能看出设计的全面性和扩展性,也能感觉到设计和研发人员的高超的技术底蕴和有非常好前瞻性的设计思路。扩展过dubbo框架协议的应该感觉非常爽。

2017-08-17 21:31:38 697

原创 AbstractQueuedSynchronizer(AQS)源码解析-续

AQS竞争时内部核心资源,线程队列的变化

2017-07-23 22:50:10 409

原创 AbstractQueuedSynchronizer(AQS)源码解析下

AQS共享锁是AQS更重要的一部分,如Sempahore,CountDownLatch都是基于AQS共享锁实现的。下面就看具体的实现逻辑。 (1)tryAcquireShare (2)releaseShare

2017-07-21 11:44:19 287

原创 AbstractQueuedSynchronizer(AQS)源码解析上

AQS独占锁(1)acqurie (2)release

2017-07-18 21:22:27 319

原创 ThreadPoolExecutor源码详解

最近在整理java concurrent包中的源码总结并把原来的画图完善了下。发现每次翻看的感受都不一样,真是学无止境啊,分享出来大家共同学习吧。 图画的挺乱,笔者想画的丰富详细些特别是一些循环,递归,自旋。也希望大家认真看。希望大家多喷,多讨论,共同提高。 ThreadPoolExecuotr.execute原图地址:这段画图是jdk1.6版本中ThreadPoolExecutor的execu

2017-07-17 16:50:40 365

原创 spring事务的传播机制

这两天整理spring aop和spring事务的东西。顺便把自己对于spring事务的隔离机制的理解整理了下。 问题: spring事务传播机制都有几种,他们的特性是什么,用不好会不会踩坑。 源码实现为(DataSourceTransactionManager ,AbstractPlatformTransactionManager)最好多看源码有自己的理解。事务传播性的描述及理解:

2017-06-02 18:54:20 1031

原创 spring事务拦截器类图

从图中看出,TransactionInterceptor是MethodInterceptor更是Advice的实现类,说明spring事务一定是基于方法。 Interceptor拦截器是Advice建言的扩展子接口,虽然啥都没实现。 MethodInvocation 是aop用来方法调用的接口。上图中说过jdk和cglib动态代理中有个核心依赖的ReflectiveMethodInvocatio

2017-06-02 18:38:47 1077

原创 spring事务建言者创建类图

从图中看出,spring 建言者有一个子类PointcutAdvisor是一个持有pointCut的建言者。也就是这个建言者可以针对不同的场景进行生效。 PointCut是根据类和方法拦截的一个拦截配置定义类。 AbstractBeanFactoryPointcutAdvisor 是PointcutAdvisor的工厂模板类负责提供建言,pointCut BeanFactoryTransact

2017-06-02 18:21:05 430

原创 spring代理的类图

希望达到目的: spring两种代理的区别(间接说明spring代理的选择),两种代理的核心依赖 从图中看出JdkDynamicAopProxy和CglibAopProxy区别在于CglibAopProxy是使用Enhancer(spring asm技术生成代理对象)而JdkDynamicAopProxy是InvocationHandler接口的实现(是基于JDK 动态代理实现的)这也是Defa

2017-06-02 17:58:14 682

原创 spring代理工厂类图

最近在整理和复习spring事务控制,顺便复习了下spring aop,也顺便调整下博客的风格。 这个系列包括 (1)spring 代理工厂 (2)spring 代理的类图 (3)spring事务的配置 (4)spring事务拦截器实现 本文中希望达到的目标: 通过类图展示出spring代理工厂是怎么实现的、主要方法都有哪些,都依赖什么核心类,这些类的职责是什么及使用场景,希望能从类图

2017-06-02 17:48:10 1001

原创 spring+mybatis缓存的问题及源码

最近和金业探讨过mybatis缓存的问题,供大家查阅也正好记录下。 文档中分为三个部分:结论理解,mybatis缓存的源码解析,spring+mybaits的整合及对mybatis的代理以及对mybatis缓存的影响 1、结论在这里 【无事务前提,dao每个sql操作都是一个sqlSession实例在进行操作不可能共用一级缓存。在有事务前提下,同个事务内使用一个sqlSession实例所以这个

2017-05-08 16:10:00 3146 2

原创 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 6275 1

原创 spring代理对象的生成及运行机制源码解读

spring有非常多的地方都是使用代理的,但是这些什么使用代理,使用哪种代理,代理是在什么时候创建的,怎么运行起效的。这些问题都会是下面的源码中实现的。 1、代理是怎么创建的,什么时候创建的,为什么创建 spring的代理创建类都是AbstractAutoProxyCreator的子类,这个抽象类同时又是InstantiationAwareBeanPostProcessor的实现类。由于它是Be

2017-01-11 16:51:19 5634 1

原创 spring容器及bean加载机制源码解读

前言:这是本人第一个博客,早就想记录些总结和理解,可一直不知道从哪开始,最近正好在解决一个spring的问题,正好这个问题涉及到了spring的一些相关基础,整理一下就从这部分开始了。 欢迎所有阅读者和爱好者批评从各个方面(特别是文档方面和技术方便)批评,指正。互相交流学习。 原想这部分单写一个文章可无奈文笔有限,先放在这吧。spring的容器加载机制分为提前加载和运行时动态加载,本文通过源码解

2017-01-11 12:00:11 13711

spring2.5.6中文api

Spring2.5-中文参考手册.chm,为有无基础的都可通过这个api,自学spring,对英文不太好的技术人员帮助很大

2013-04-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除