反射是指,程序在运行期间可以获取自身信息。
Java中只要给定类的名字,就可以通过反射机制获取类所有的属性和方法。
反射可以在运行期做很多事情,但是代码的可阅读性低,不利于维护,代码性能低,由于反射涉及到动态解析的类型,因此不能执行某些Java虚拟机优化,反射在调用方法时,会从方法数组中遍历查找,这些动作都是耗时的,所以在业务代码中不推荐使用。
“动态解析的类型”是指什么?
答:在运行时才确定的对象类型或方法信息,而不是在编译时静态确定的。
反射是指,程序在运行期间可以获取自身信息。
Java中只要给定类的名字,就可以通过反射机制获取类所有的属性和方法。
反射可以在运行期做很多事情,但是代码的可阅读性低,不利于维护,代码性能低,由于反射涉及到动态解析的类型,因此不能执行某些Java虚拟机优化,反射在调用方法时,会从方法数组中遍历查找,这些动作都是耗时的,所以在业务代码中不推荐使用。
“动态解析的类型”是指什么?
答:在运行时才确定的对象类型或方法信息,而不是在编译时静态确定的。