- 博客(8)
- 资源 (7)
- 收藏
- 关注
原创 自定义一个ThreadLocal类和ThreadLocal类的使用案例
1.自定义ThreadLocal类package com.lilei.test.threadlocaltest;import java.util.Collections; import java.util.HashMap; import java.util.Map;/** * 自定义实现一个ThreadLocal类 * Created by Administrator on 2017/10/22
2017-10-22 13:43:34 1503
原创 ThreadLocal学习
1.什么是ThreadLocal? ThreadLocal是一个容器,用于存放线程的局部变量,用来保护线程安全的。 2.举例说明 比如设计一个序列号生成器,有多个线程同时并发的去访问,但是要保证每个线程得到的序列号都是自增的,并且互相不干扰? 3.代码实现方式 1.先定义一个接口 package com.lilei.test.threadlocaltest;/** * 序列号生成器 *
2017-10-22 11:52:39 194
原创 instanceof 与isAssignableFrom的区别
1.区别 instanceof判断的是实例对象,比如Dog extends Animal时,可以判断Dog对象是否是Animal类或接口的或其子类子接口的实例,格式如下:oo instanceof TypeName isAssignableFrom判断的是一个类Class1和另一个类Class2是否相同或是另一个类的超类或接口。 通常调用格式是 : Class1.isAssignable
2017-10-21 21:21:02 487
原创 @AspectJ语法基础之切点表达式函数和函数入参时使用通配符
1.切点表达式函数切点表达式函数大致分成四种类型: a .方法切点函数:通过描述目标类方法的信息定义连接点,如:excution()(方法匹配模式串,如excution(*greetTo(..))代表所有目标类中的greetTo方法)和@annotation()(方法注解类名,如@annotation(com.lilei.test.NeedTest)表示任何标注了@NeedTest注解的目标类方
2017-10-21 14:02:45 1140
原创 快速了解注解的一些基本知识
编写一个注解的基本原则1.注解不能直接干扰程序代码的运行,也就是说无论增加或删除注解,程序都能正常的运行。 2.一般情况下是通过java的反射机制读取注解信息,从而通过这些信息更改目标程序的一个逻辑 编写一个简单的注解类并详细解释package com.lilei.test.annotationtest;import java.lang.annotation.ElementType; import
2017-10-19 16:57:56 350
原创 cglib代理学习笔记
1.cglib和静态代理和动态代理的区别? 静态代理和动态代理都需要去实现某个接口,然后才能使用,特别是静态代理,一次只能服务一个类,动态代理好一点,可以服务所有的类,但是还是要实现接口,这样有点烦,但是cglib完美的解决了这个问题,可以强行给某个类加入方法,不需要去实现某个接口2.如何实现 a.需要加方法的类:package com.lilei.test.proxyt
2017-10-12 09:59:32 229
原创 java中动态代理的学习记录
原理和应用场景和静态代理类似 限制条件: 想要修改的那个类还是要实现接口 和静态代理的区别:不用每个类都去创建一个代理类,动态代理只是需要将实现类作为参数传到动态代理实现的那个类中去就ok了 代码实现:接口: package com.lilei.test.proxytest;/** * Created by Administrator on 2017/9/26. */ public inte
2017-10-11 12:47:47 178
原创 java中的静态代理的学习记录
一.静态代理1. 原理:在原本类的某个方法中想要加入一些其它的业务逻辑;2. 一般的应用场景:当你对项目进行二次开发的时候,里面有类牵扯到了很多很多造成了你不能去修改那个类中方法的时候,你可以用静态代理,通过调用代理类来给原本的方法加入你想要的逻辑,从而不牵扯到之前功能的正常使用3.限制条件: a)一个代理对象只能服务一个类 b)代理对象必须实现某个接口3. 源代码的实现: a
2017-10-11 10:19:33 157
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人