554 字
3 分钟
JDK1.8 新特性

什么是反射?应用?原理?#

什么是反射? 我们通常都是利用new方式来创建对象实例,这可以说就是一种“正射”,这种方式在编译时候就确定了类型信息。 而如果,我们想在时候动态地获取类信息、创建类实例、调用类方法这时候就要用到反射。 通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。 反射最核心的四个类: Java反射相关类 反射的应用场景? 一般我们平时都是在在写业务代码,很少会接触到直接使用反射机制的场景。 但是,这并不代表反射没有用。相反,正是因为反射,你才能这么轻松地使用各种框架。像 Spring/Spring Boot、MyBatis 等等框架中都大量使用了反射机制。 像 Spring 里的很多 注解 ,它真正的功能实现就是利用反射。 就像为什么我们使用 Spring 的时候 ,一个@Component注解就声明了一个类为 Spring Bean 呢?为什么通过一个 @Value注解就读取到配置文件中的值呢?究竟是怎么起作用的呢? 这些都是因为我们可以基于反射操作类,然后获取到类/属性/方法/方法的参数上的注解,注解这里就有两个作用,一是标记,我们对注解标记的类/属性/方法进行对应的处理;二是注解本身有一些信息,可以参与到处理的逻辑中。 反射的原理? 我们都知道 Java 程序的执行分为编译和运行两步,编译之后会生成字节码(.class)文件,JVM 进行类加载的时候,会加载字节码文件,将类型相关的所有信息加载进方法区,反射就是去获取这些信息,然后进行各种操作。

JDK1.8 新特性#

JDK 已经出到 17 了,但是你迭代你的版本,我用我的 8。JDK1.8 的一些新特性,当然现在也不新了,其实在工作中已经很常用了。

JDK1.8 新特性
作者
强人自传
发布于
2022-04-22
许可协议
CC BY-NC-SA 4.0