满天星
Fork me on GitHub

JavaSE学习笔记01-注解与反射

一、java se之注解与反射

1、注解的由来
     将不包含业务逻辑的部分,也称作服务或能力,
     直接通过标注(注解,Annatation)来定义与识别,不再通过xml等配置。
     减少配置量,项目一大配置太多,反而成为负担

2、关于配置与注解
     1.1 注解的优势:配置的烦锁与注解的灵活
     1.2 注解的劣势:太灵活导致维护性差
     1.3 实战项目选择:配置+注解
3、关于反射
     3.1 “正射”:通过正常的import等引用,直接new出来的对象。
     3.2 “反射”:通过Class字节码对象来实例化其对应的实例。
     3.3 强大的反射无处不在,hadoop,nutch,spark等通过配置即可看出大部分应用到反射。
     3.4 正向代理与反向代理
         正向与反向,你可以认为从客户端角度来说的。
     客户端能知道代理的存在,则为正向。那么爬虫代理显然是正向代理
     客户端不知道代理的存在,则为反向。apache httpd,nginx均常做反向代理,多用于负载均衡等场景。

4、常用注解
   Override:用于检查方法是否被真正准确的重写
   Deprecated: 用于标志属性、方法等已经过时,不再建议被使用
   SuppressWarnings : 阻止某些情况下的warnning信息

5、元注解:注解的注解
   Retention:保持力,保留范围
       source: 注解信息只在源文件中
       class:在字节码文件中,但不被jvm加载与识别
       runtime:在字节码中,被jvm加载,主要用于反射
   Target
       注解的修饰类型,包括包、类、方法、属性、局部变量等,通过ElementType枚举类来搞定。
   Documented
        该注解是否也加入到java doc
   Inherited
    该注解能否被继承

5、注解的用法与autowired的简单实现

6、总结
   循序渐进,锲而不舍。
   细致耐心,高手可成。
-------------本文结束期待您的评论-------------