Java高级技术
java高级技术
源码、框架、架构师层面的技术
- 反射
- 注解
- 动态代理
单元测试
针对最小单元 : 方法 进行测试
单元测试框架 Junit
反射
反射就是:加载类,并允许以编程的方式解剖类中的各种成分(成员变量、方法、构造器)
反射具体学什么?
学习获取类的信息,操作它们
- 获取类对象
Class c1 = 类名.class
- 调用Class提供的方法:
Class.forName("类的全路径名")
- Object提供的方法:public Class getclass();
Class c3 = 对象实例.getClass;
- 操作类对象
反射的作用
基本作用:可以得到一个类的全部成分然后操作
- 可以破坏封装性
- 可以绕过泛型的约束
重要用途:适合做java的框架;基本上,主流框架都会基于反射设计出一些通用的功能
注解
就是java 代码里的特殊标记,比如@Override、@Test;
作用:让其他程序根据注解信息来决定怎么执行程序
自定义注解
自己定义注解的格式:
注解的原理
- 注解本质是一个接口,java中所有注解都是继承了Annotaion接口的
- @注解(…) : 其实就是一个实现类对象,实现了该注解以及Annotation接口
元注解
元注解:
注解(v) 注解的注解(n)
@Target
Retention
注解的解析
就是判断类上、方法上、成员变量上是否存在注解,并把注解里的内容给解析出来
如何解析注解?
代理
如何为java对象创建一个代理对象
java.lang.reflect.Proxy 类提供了 为对象 产生 代理对象 的方法
Java高级技术
https://cs-lb.github.io/2024/10/18/Java/Java高级技术/