patterns

checked exception

runtime ~

泛型是在编译期检查

final是对引用的限定,引用的的对象如果是个容器,容器内容是可变的

单件中的clone protected没太明白

动态代理:

java.lang.reflect.InvocationHandler

class DynamicProxyHandler implements InvocationHandler {
  private Object proxied;
  public DynamicProxyHandler(Object proxied) {
    this.proxied = proxied;
  }
  public Object
  invoke(Object proxy, Method method, Object[] args)
  throws Throwable {
    System.out.println("**** proxy: " + proxy.getClass() +
      ", method: " + method + ", args: " + args);
    if(args != null)
      for(Object arg : args)
        System.out.println("  " + arg);
    return method.invoke(proxied, args);
  }
}
    Interface proxy = (Interface)Proxy.newProxyInstance(
      Interface.class.getClassLoader(),
      new Class[]{ Interface.class },
      new DynamicProxyHandler(real));

动态
静态代理对于一种被代理对象与代理行为的组合就要构造一个代理类,而且是在编译期完成;而动态代理延迟至需要时再创建,而且对于程序员来说只需要为所有的被代理对象编写实现了一种代理行为的invocationhandler即可。其实需要的代理类数目没有减少,但是都是动态自动生成的。

相对于静态代理以被代理类作为划分,以代理类实现的功能划分代理类。


工厂,将对象创建的硬编码放到了工厂类里,由工厂方法来管理对象的创建:有静态工厂,抽象工厂(组合),工厂方法(继承)

private abstract,有点搞笑


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值