第18章 类加载机制与反射 前言

第18章 类加载机制与反射

本章要点

  • 类加载
  • 类连接的过程
  • 类初始化的过程
  • 类加载器以及实现机制
  • 继承ClassLoader实现自定义类加载器
  • 使用URLClassLoader
  • 使用Class对象
  • Java8新增的方法参数反射
  • 动态创建Java对象
  • 动态调用方法
  • 访问并修改Java对象的属性值
  • 使用反射操作数组
  • 使用ProxyInvocationHandler创建动态代理
  • AOP入门
  • Class类的泛型
  • 通过反射获取泛型类型

本章将会深入介绍Java类的加载、连接和初始化知识,并重点介绍Java反射的相关内容。

自定义加载器

Java类加载器除了根类加载器之外,其他类加载器都是使用Java语言编写的,所以程序员完全可以开发自己的类加载器,通过使用自定义类加载器,可以完成一些特定的功能.

重点介绍java.lang.reflect包下的接口和类

本章将重点介绍java.lang.reflect包下的接口和类。

反射相关类

类主要有ClassMethodFieldConstructorArray等,这些类分别代表类、方法、成员变量、构造器和数组,Java程序使用这些类

  • 可以动态地获取某个对象、某个类的运行时信息,
  • 可以动态地创建Java对象,
  • 可以动态地调用Java方法,
  • 访问并修改指定对象的成员变量值。

放射相关接口

本章还将介绍该包下的TypeParameterizedType两个接口,其中TypeClass类所实现的接口,而ParameterizedType则代表一个带泛型参数的类型

JDK动态代理

本章将介绍使用ProxyInvocationHandler来创建JDK动态代理,并会通过JDK动态代理向读者介绍高层次解耦的方法,还会讲解JDK动态代理和AOP(Aspect Orient Programming,面向切面编程)之间的内在关系。