- 博客(9)
- 收藏
- 关注
原创 设计模式-代理模式
代理模式也是我们经常听说的一种设计模式,他是一种行为型设计模式。例如springAOP的原理就是用的代理模式。他的作用是对被代理对象的方法进行增强,保护被代理对象的的隐秘性。代理模式又分为静态代理和动态代理,也比较好理解。静态代理就是我写好代码,我这个类就是某一个类的代理类,不能代理其他类。动态代理就是我可以代理好多类,但是这些类要有一些相同的特点,比如都实现了同一个接口,都有一个相同的方...
2019-04-05 11:42:36
119
原创 设计模式-单例模式
单例模式是常听说的一种设计模式,它的用法是保证在一个类在任何情况下都只有一个对象,我们常见的有springIOC的applicationContext,数据库的连接池等。单例模式分为两种:饿汉式和懒汉式。我们先说饿汉式,饿汉式如其名字一样,像一个饿汉要先创建出一个对象来,来看代码public class HungurySingle { public static HungurySingl...
2019-03-25 21:22:13
105
原创 设计模式-工厂模式
工厂模式,是各种开源框架中常用的设计模式,比如spring的ioc,log4j等。工厂模式有三种,简单工厂模式,工厂方法模式,抽象工厂模式,下面我们一一介绍,简单工厂模式简单工厂模式就是工厂模式最简单的用法,缺点比较明显,可扩展性不好,解耦性不强,不符合开闭原则和职责单一原则,可以理解为简单工厂模式就是一个小作坊,来什么订单,我就做什么,没有工具我就去现买工具。下面我通过代码来看。...
2019-03-25 11:51:22
109
原创 Java项目svn拉分支
1. 创建分支1.1从开发工具idea中的创建过程右键项目 ——>Subversion——>Branch or Tag… 如下图所示在这里插入图片描述]点击后弹出如下图所示填写完成以后点击 ok点击Yes ,分支就创建完成了1.2用TortoiseSVN(中文版)创建分支右键项目 ——>TortosieSVN——>分支标记,如下图所示点击后弹出如下对...
2019-02-27 15:41:47
1048
原创 String,StringBuilder,StringBuffer的区别
先看一段代码,这里我先运行了一千次 是3 0 0 然后运行了一万次 是107 0 1 然后运行了十万次 是4549 1 4从这个运行结果来看三者之间效率差别是 StringBuilder>StringBuffer>String效率为什么是这样的,主要是因为 String 是常量,StringBuiller和StringBuffer是变量。String 的任何操作都会产生一个新的对...
2018-11-06 11:54:30
112
原创 java 动态代理和简单aop实现
aop面向切面编程的原理就是对java代理模式的应用。java代理分为动态代理和静态代理,这里只介绍动态代理。先举个例子(代理例子):小明想去阿里面试,他需要先在给阿里的官网或者某些招聘网站投递简历,然后hr看到简历,筛选以后觉得合格后再给小明打电话约面试,面试完以后,会给小明通知面试结果。这里hr可以作为一个代理,作为阿里公司的代理,在面试之前要筛选简历,在面试完成之后要通知小明,可以理解为...
2018-11-05 18:11:12
124
原创 Spring IOC 加载过程(二 解析xml,注册bean)
上一篇介绍了Spring 是如何加载xml文件的,这一篇介绍如何解析xml。直接开始吧/*** 解析根节点 在DefaultBeanDefinitionDocumentReader这个类中*/protected void parseBeanDefinitions(Element root, BeanDefinitionParserDelegate delegate) { //这...
2018-09-25 12:06:30
162
原创 Spring IOC 加载过程(一 加载xml)
Spring IOC 加载过程看过很多次Spring容器的源码,每次都没有记录,每次都看到放弃,这次下决心要学习一下源码了,所以写一篇博文来记录,也希望有各路大神来指点不足之处,话不多说,下面开始!加载Context 创建beanFactory 解析xml注册beanSpring容器结构图 加载Context我是从一个web程序打断点一步一步跟代码走的,一个web...
2018-09-06 17:00:38
626
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人