注解
来源:互联网 发布:jenkins linux slave 编辑:程序博客网 时间:2024/06/05 14:58
第1章 注解
1.1 注解和注释
l 注释是给程序员看的,用来对程序进行解释说明
l 注解是给程序看的,用来完成特定的功能
1.2 JDK提供的三种注解
Deprecated:方法已过时
Override:重写父类或者接口的方法
SuppressWarnings:抑制警告。如果给all就代表抑制所有警告
1.3 注解定义格式
public @Interface 注解名儿 {
//属性 []中的东西可以省略
[public abstarct] 返回值类型 属性名() [default默认值];
}
返回值类型可以是:基本数据类型,字符串,Class,注解,枚举,一维以上的数组
1.4 元注解
修饰自定义注解的注解
@Target 限定自定义注解的使用位置
* @Target(ElementType.CONSTRUCTOR) 只能在构造方法使用
* @Target(ElementType.METHOD) 只能在普通方法使用
* @Target(ElementType.FIELD) 只能在字段使用
* @Target(ElementType.TYPE) 只能在类、接口使用
@Retention 限定自定义注解的声明周期
l @Retention(RetentionPolicy.SOURCE) 自定义注解只在源码有效,编译之后将删除(class文件没有)。提供编译器使用
l * @Retention(RetentionPolicy.CLASS) 自定义注解只在源码和字节码有效,编译之后有,运行时内存没有。提供JVM使用
l * @Retention(RetentionPolicy.RUNTIME) 自定义注解在源码、字节码和内存都有效。【】提供程序使用,用于取代xml配置文件
第2章 类加载(了解)
l 引导类加载器:rt.jar
l 扩展类加载器:ext文件夹下面的内容
l 应用类加载器:我们自己写的东西
通过一个类的Class调用getClassLoader得到的是加载这个类的类加载器
一个类只能被加载一次
第3章 动态代理
3.1 作用
在运行时候动态的对某一个类的某些功能进行增强。spring框架内部用到了动态代理