摘要:AdaptiveExtension 自适应Extension,作者其实在使用Extension方和Extension之间插入AdaptiveExtension用来自适应,也可以说是适配。 所以,我们发现,这里其实有三种, 1,一种是自动生成的Adaptive根据url参数来选择具体实现; 2,一种是
阅读全文
摘要:composed method: composed method: 我们平时在写代码的过程中也会吧一些复杂的代码分解成几个小方法,以使代码开起来清晰,而composed method只是将实践定义成理论而已。不过我认为他核心的原则是尽可能将重构的方法保持在同一细节水平上。 strategy: 核心是
阅读全文
摘要:Spring事务抽象的是事务管理和事务策略。而实现则由各种资源方实现的。我们最常用的数据库实现:DataSourceTransactionManager 尝试阅读一下spring 的实现代码,由3个核心类: 1,PlatformTransactionManager 事务管理的抽象,一个获取事务状态,
阅读全文
摘要:后续要做个日志相关的东西,先笔记一下。 slf4j是日志框架的一个门面端,背后实现者有log4j,logback等等。 如何实现这个门面的呢? 一般我们使用的代码如下: slf4j 的LoggerFactory具体实现了门面模式中对接各种实现的事情。 getILoggerFactory方法: 上面,
阅读全文
摘要:AOP增强实现-Spring 源码系列(5) 目录: Ioc容器beanDefinition-Spring 源码(1) Ioc容器依赖注入-Spring 源码(2) Ioc容器BeanPostProcessor-Spring 源码(3) 事件机制-Spring 源码(4) AOP执行增强-Sprin
阅读全文
摘要:代理模式-积木模式 代理模式在实际开发中的确非常常见和常用,表面上代理模式是产生出一个代理类,作为访问实际实现类的代理,控制了外界对实际代理类的访问,在此基础上增加一些增强性的功能。实际上,还将实际实现作为一个粒度,将增强的部分功能分离解耦。 这里记录一下实现的一些代码: 静态代理: 动态代理(ja
阅读全文
摘要:事件机制-Spring 源码系列(4) 目录: Ioc容器beanDefinition-Spring 源码(1) Ioc容器依赖注入-Spring 源码(2) Ioc容器BeanPostProcessor-Spring 源码(3) 事件机制-Spring 源码(4) AOP执行增强-Spring 源
阅读全文
摘要:Ioc容器BeanPostProcessor-Spring 源码系列(3) 目录: Ioc容器beanDefinition-Spring 源码(1) Ioc容器依赖注入-Spring 源码(2) Ioc容器BeanPostProcessor-Spring 源码(3) 事件机制-Spring 源码(4
阅读全文
摘要:Ioc容器依赖注入-Spring 源码系列(2) 目录: Ioc容器beanDefinition-Spring 源码(1) Ioc容器依赖注入-Spring 源码(2) Ioc容器BeanPostProcessor-Spring 源码(3) 事件机制-Spring 源码(4) AOP执行增强-Spr
阅读全文
摘要:我们到底能走多远系列47 扯淡: 又是一年新年时,不知道上一年你付出了多少,收获了多少呢?也许你正想着老板会发多少奖金,也许你正想着明年去哪家公司投靠。 这个时间点好好整理一下,思考总结一下,的确是个非常好的机会。 年终的时候各个公司总会评一下绩效,拉出各位的成绩单,你是不是想说:去你妈的成绩单,我
阅读全文
摘要:jvm内存增长问题排查 排查个jvm 内存占用持续增加的问题,纪录一下,引以为戒。 运维发现应用jvm内存占用在发布后回落,然后持续增高,,dump后分析一下: 占内存的大部分是这种名字相似的bean,哪里会产生这么多相同类产生的bean呢? 应用使用了动态语言groovy,请求走逻辑时,动态拿到脚
阅读全文
摘要:Ioc容器beanDefinition-Spring 源码系列(1) 目录: Ioc容器beanDefinition-Spring 源码(1) Ioc容器依赖注入-Spring 源码(2) Ioc容器BeanPostProcessor-Spring 源码(3) 事件机制-Spring 源码(4) A
阅读全文
摘要:Service Provider Interface 是java的服务提供的发现机制,很多框架中都有用到。 使用这个机制需要做以下几步: 1,在calsspath下见一个目录:META-INF\services 2,在上面的目录里建一个txt文件,文件名和接口名一致,文件中描述实现类位置,文件名和文
阅读全文
摘要:这里记录一个例子,工厂模式的理论就不扯淡了。 遇到的问题:支付方式有很多种,比如微信支付 支付宝支付 银联支付 等等。我们在在实现的时候发现他么的流程上是相似的,以及每个方式都有大量的个性配置,在实例化时需要加载他们,以及为了清晰的讲调用方和实现方进行分离,就有来下面的小设计。 以银联为例,(通过测
阅读全文
摘要:一步步知识点归纳吧,把以前似懂非懂,了解表面,知道点不知道面的知识归一下档。 懒汉式单例: 私有化构造函数,阻止外界实例话对象,调用getInstance静态方法,判断是否已经实例化。 为什么是懒汉,因为它是属于延迟加载这个实例的,也就是说不用到的时候,不实例化对象的。 public class S
阅读全文
摘要:主题:这份代码是开发中常见的代码,查询数据库某个主表的数据,为了提高性能,做一次缓存,每次调用时先拿缓存数据,有则直接返回,没有才向数据库查数据,降低数据库压力。 然而一般我门在项目初始或在发展的过程中,并不能很好的规划出哪些业务时需要缓存的,而我们发现这个先取缓存再数据库的逻辑是共通的,那么我们就
阅读全文
摘要:java HashMap 读一下源码,一个数组存储数据: transient Entry[] table; 内部存key和value的内部类: static class Entry<K,V> implements Map.Entry<K,V> { final K key; V value; Entr
阅读全文
摘要:请求路由到业务方法设计(2)扯淡:看到首页又来一个C#和java争论,我也是蛮醉的,玩C#好的同学多得是,一个技术能全通所有技术是不可能,术业本来就是有专攻,即使能借鉴那也是比较有高度的概念借鉴而已。而语言这种东西要分高低,我觉得是件很愚蠢的事。如果你真的想讨论,建议你写个万字级别的文章来论述,我想...
阅读全文
摘要:springmvc对同名参数处理扯淡:中断发博客几个月,其实蛮不爽的,可能最近太忙太劳累了些,很多总结也没时间写,今天刚好遇到个小问题,就阅读下源码找找乐。因为考虑到网上大多是提供解决问题的方案,没有实际去看spring源码流程,所以就发个博文记录下,万一以后有同学搜到我的文章能深入看些东西吧。问题...
阅读全文
摘要:点进Collections.reverse的代码瞄了眼,然后就开始了一些基础知识的收集。现在发现知道的越多,知道不知道的越多。列几个记录下:reverse方法源码: /** * Reverses the order of the elements in the specified list....
阅读全文