当前位置 : 主页 > 编程语言 > java >

java源码解析之 注解annotation

来源:互联网 收集:自由互联 发布时间:2022-07-07
今天记录一下注解相关的内容,算是比较轻松的一次。 注解是位于java的扩展包中,官方的提供的注解不是很多,但是扩展的注解还是挺多的,况且注解也已经成为了java语言的基本语法


    今天记录一下注解相关的内容,算是比较轻松的一次。 

java源码解析之 注解annotation_java

    注解是位于java的扩展包中,官方的提供的注解不是很多,但是扩展的注解还是挺多的,况且注解也已经成为了java语言的基本语法的一部分。在java.lang包有关于元注解的内容。 不过还是先来看看这边的内容

java源码解析之 注解annotation_元注解_02

java源码解析之 注解annotation_java_03

    上面是扩展包中generate注解的内容。

java源码解析之 注解annotation_扩展包_04

java源码解析之 注解annotation_元注解_05

java源码解析之 注解annotation_元注解_06

java源码解析之 注解annotation_java_07

    以上是扩展包中resource注解的内容。 

java源码解析之 注解annotation_元注解_08

    以上是扩展包中completion的内容。 

java源码解析之 注解annotation_元注解_09

    以上是扩展包中resources的内容。 

    扩展包的注解基本看了,发现并没有什么收获。  但是它们有一个共同的特点,那就是都依赖于元注解。

    于是可以去看看元注解:

java源码解析之 注解annotation_元注解_10

    三大元注解。

 

java源码解析之 注解annotation_元注解_11

    这个注解是那三个注解中相对不好理解的。   现在在回头来看,大致意思有一点关键字 public  的意思。如public和private的区别。

java源码解析之 注解annotation_元注解_12

    这个比较好理解。  Retention,字面意思为保留,保持的意思。   因此也好理解,它指明了一个注解的生命周期或者说作用域吧。

java源码解析之 注解annotation_元注解_13

java源码解析之 注解annotation_元注解_14

    以上是元注解target的内容。  他指明了注解所适用的对象,是作用域的意思。 

    接着是一些支撑的注解或者扩展的注解,但是由于它们位于lang包中,所以重要性自然是不容小觑。

java源码解析之 注解annotation_扩展包_15

    Retention的支持枚举类。 

java源码解析之 注解annotation_java_16

    Target的支持枚举类。 

java源码解析之 注解annotation_java_17

    标识为本地的一个资源。 由于面向对象的语言还是要依赖于面向过程语言的,面向对象处理全局,面向过程处理局部。 因此很重要。 

java源码解析之 注解annotation_元注解_18

java源码解析之 注解annotation_java_19

    相当于注解类中的Object。  但是是一个抽象类。 而非注解。 

    看完了这些,并没有发现注解是怎样被处理和执行的。  因此只能靠自己猜测:  因为注解成为了java语言基础语法的一部分,因此极有可能直接注解的逻辑直接被jvm处理,所以在类中并不好看到它的处理逻辑。   另外,之前看反射部分内容的时候,了解到属性和方法的顶级父类的为注解,这在某种层面应该也能发现有些问题,但是具体什么关系还得看代码。    第三,自从1970年左右,模块化的程序设计发展以来,之后的高级语言基本都有这一个特性,所谓的模块化,也就是可装卸的。  在java中来看,一个方法是一个模块,一个属性也可以是一个模块,因此先写哪个方法哪个属性,后写哪个方法哪个属性,并不会影响程序的运行。 注解也是同样的,它应该也有相关的一些理念来进行一些处理。 

    ok,以上是注解相关的内容,以后有机会可以深入,因为它实在是很强大。 晚安,好梦!

 

 

网友评论