摘要: https://github.com/spring-projects/spring-framework/tags 阅读全文
posted @ 2019-03-15 16:41 浅安时光i 阅读(255) 评论(0) 推荐(0) 编辑
摘要: Cglib代理,也叫做子类代理。在内存中构建一个子类对象从而实现对目标对象功能的扩展。 CGLIB包的底层是通过使用一个小而快的字节码处理框架ASM,来转换字节码并生成新的类。不鼓励直接使用ASM,因为它要求你必须对JVM内部结构包括class文件的格式和指令集都很熟悉。 下面通过为保存用户信息方法 阅读全文
posted @ 2019-03-15 14:31 浅安时光i 阅读(1452) 评论(0) 推荐(0) 编辑
摘要: 动态代理与静态代理相比,代理对象不需要实现接口,动态代理又称JDK代理 JDK的动态代理主要涉及到java.lang.reflect包中的两个类:Proxy和InvocationHandler。其中InvocationHandler是一个接口,可以通过实现该接口定义横切逻辑,并通过反射机制调用目标类 阅读全文
posted @ 2019-03-15 10:51 浅安时光i 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 代理提供了对目标对象另外的访问方式;即通过代理对象访问目标对象。 这样好处: 可以在目标对象实现的基础上,增强额外的功能操作。(扩展目标对象的功能)。 代理模式的关键点: 代理对象与目标对象。 静态代理需满足的条件: 代理对象,要实现与目标对象一样的接口。 下面通过给保存用户信息的方法加事务来体验下 阅读全文
posted @ 2019-03-15 09:27 浅安时光i 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 1、调用ArrayList的参构造方法,此时集合内部是一个空数组 2、初次调用add方法,数组的容量初始化为10,每次数组容量不够时,数组的大小扩展为原来的1.5倍,newCapacity = oldCapacity + (oldCapacity >> 1) 阅读全文
posted @ 2019-01-21 16:51 浅安时光i 阅读(1187) 评论(0) 推荐(0) 编辑
摘要: String被final修饰,不可变,每次更改其实是重新创建了一个对象。StringBuilder,StringBuffer是可变的。 StringBuffer是线程安全的,StringBuilder线程不安全; 使用场景:字符换不经常更改的时候用String 单线程下字符串大规模更改用String 阅读全文
posted @ 2018-12-25 15:16 浅安时光i 阅读(109) 评论(0) 推荐(0) 编辑