Java高级技术

java高级技术

源码、框架、架构师层面的技术

  • 反射
  • 注解
  • 动态代理

单元测试

针对最小单元 : 方法 进行测试

单元测试框架 Junit

alt text

反射

反射就是:加载类,并允许以编程的方式解剖类中的各种成分(成员变量、方法、构造器)

反射具体学什么?
学习获取类的信息,操作它们
alt text

  1. 获取类对象
  • Class c1 = 类名.class
  • 调用Class提供的方法:Class.forName("类的全路径名")
  • Object提供的方法:public Class getclass(); Class c3 = 对象实例.getClass;
  1. 操作类对象

反射的作用

基本作用:可以得到一个类的全部成分然后操作

  • 可以破坏封装性
  • 可以绕过泛型的约束

重要用途:适合做java的框架;基本上,主流框架都会基于反射设计出一些通用的功能

注解

就是java 代码里的特殊标记,比如@Override、@Test;

作用:让其他程序根据注解信息来决定怎么执行程序

自定义注解

自己定义注解的格式:

alt text

注解的原理

  • 注解本质是一个接口,java中所有注解都是继承了Annotaion接口的
  • @注解(…) : 其实就是一个实现类对象,实现了该注解以及Annotation接口

alt text

元注解

元注解:
注解(v) 注解的注解(n)
alt text

@Target
alt text

Retention
alt text

注解的解析

就是判断类上、方法上、成员变量上是否存在注解,并把注解里的内容给解析出来

如何解析注解?

alt text

代理

如何为java对象创建一个代理对象

java.lang.reflect.Proxy 类提供了 为对象 产生 代理对象 的方法

alt text


Java高级技术
https://cs-lb.github.io/2024/10/18/Java/Java高级技术/
作者
Liu Bo
发布于
2024年10月18日
许可协议