cglib是动态代理的一种,该类型代理是通过产生class的方式来产生代理类,相对于jdk动态代理,该类型代理可以代理没实现接口的类。CGLIB代理底层通过重新生成每个类的方法,final、private、static方法则不会创建新的方法。 java modifier作为反射的一部分,可以用来标识每个类以及类方法的属性,其值如下所示:
public static final int | ABSTRACT 抽象方法 | 1024 |
---|---|---|
public static final int | FINAL final方法 | 16 |
public static final int | INTERFACE | 512 |
public static final int | NATIVE | 256 |
public static final int | PRIVATE | 2 |
public static final int | PROTECTED | 4 |
public static final int | PUBLIC | 1 |
public static final int | STATIC | 8 |
public static final int | STRICT | 2048 |
public static final int | SYNCHRONIZED | 32 |
public static final int | TRANSIENT | 128 |
public static final int | VOLATILE | 64 |
编辑