- 浏览: 8645 次
- 性别:
- 来自: 北京
最新评论
文章列表
/**Java与模式:适配器模式 目的:将一个类的接口转换成客户希望的另外一个接口。
A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
意图:你想使用一个已经存在的类,而它的接口不符合你的需求。
你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
(仅适用于对象A d a p t e r )你想使用一些已经存在的子类,
但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。
*/
/**
* 源角色
* @ClassName: Adap ...
/**假如我们现在有三个类
A类 B类 C类
其中 B类、C类都是A类的子类
现在我们遇到一个问题,就是我要扩展B类和C类的功能,新增的三种功能分别用method1()、method2()、method3()来表示
在我们遇到这个问题之前,B类和C类都各自有自己的子类,
比如,那B类来讲,它的子类当中有的只新增了method1(), 有的新增了method1()和method2(), 有的三个新的功能都增加了
因此B类的子类的数目应该是2^3 - 1 = 7个
同样, C类也有7个子类
这个一样凭空多出了好些个类, 此时我们可以用装饰器模式
*/
/**A接口*/
...
package cn.cglib;
import java.lang.reflect.Method;
import java.util.logging.Logger;
import net.sf.cglib.proxy.Enhancer;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;
public class TestCglibProxy {
public static void main(String[] args) {
AProx ...
什么是线程安全?
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。 或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题。 线程安全问题都是由全局变量及静态变量引起的。 若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则就可能影响线程安全。
举例
比如一个 Array ...
Java语法糖的味道:泛型与类型擦除
http://www.iteye.com/topic/1021949
Java反射与动态代理
http://www.infoq.com/cn/articles/cf-java-reflection-dynamic-proxy
Java注解
http://www.infoq.com/cn/articles/cf-java-annotation
反射机制看自省(探寻类自身的信息--修改类的信息)
public class TestReflection_2 {
public static void main(String[] args) throws Exception {
/**
* 修改类的属性的值
* */
Object object = new StudentT("Michael",24);
Class cls = object.getClass() ...
反射机制看自省(探寻类自身的信息--属性/方法/构造方法)
public class TestReflection_1 {
public static void main(String[] args) throws Exception {
//反射中最常见的方式, 获得类对象
Class class1 = Class.forName("com.reflection.Student");
//class1.getName();//返回实体的名称
//class1.getSimpleName//只获得类的名称
//class1.ge ...