JavaSE-注解与反射(框架底层实现机制)

Sue ·
更新时间:2024-11-01
· 911 次阅读

注解(Annotation)JDK5.0引入 内置注解: @Override:重写方法 @Deprecated:废弃 @SuppressWarnings:镇压警告 元注解(meta-annotation): 可自定义注解 @Target:描述注解的使用范围,传入value参数指定 @Retention:描述注解的生命周期,传入value参数指定 (runtime>class>sources) @Documented:是否生成注解在Javadoc种 @Inherited:子类可以继承父类的注解 自定义注解 @interface 注解名{} 属性为注解的参数:可以使用默认值 反射(框架设计的灵魂)

实现动态(Reflection)自顶向下

**反射创建对象:**从实例化对象获得Class类(与new的方式相反)
Class.forName(“全限定类名”) 获取 Class对象,可以用Class对象实例化对象 ,一个类在内存中只有一个Class对象,在类被加载后,类会被封装在其中
获得Class类的方式:
类.getClass、Class.forName("")
Class类可以获取类的相关信息

Java内存:

*堆:*存放new的对象和数组、线程共享
*栈:*引用变量
方法区(堆):类的数据

类的加载: 类加载器ClassLoader(有类缓存的-JVM垃圾回收):类的Class类读入内存创建Class对象 类的Link:类的二进制数据合并到JRE 类的初始化:JVM执行类构造器()

通过反射创建对象本质是无参构造
也可以通过构造器创建对象Class.getDeclaredConstructor
Class(对象).getDeclaredXXX获取相关XXX

反射操作注解

ORM:对象关系映射
类和数据库表映射


作者:monster++



javase 底层实现 注解 反射 框架

需要 登录 后方可回复, 如果你还没有账号请 注册新账号