您的位置:首页 > 职场人生

javaEE面试【1】(java反射机制)

2016-07-16 14:29 337 查看
1、什么是反射机制?

指的是程序在运行时能够获取类的信息、创建对象、调用方法

在java中,任何一个类都有Class类型的对象,表示这个类的信息,这些信息存储在jvm的方法区内

                 Class对象可以动态加载类;获取类的字段、方法;构造该类的对象

                 这样就叫做反射机制

2 Java反射机制的作用:

1)在运行时判断任意一个对象所属的类。

2)在运行时判断任意一个类所具有的成员变量和方法。

3)在运行时任意调用一个对象的方法

4)在运行时构造任意一个类的对象

3、哪里用到反射机制?

jdbc中有一行代码:Class.forName('com.MySQL.jdbc.Driver.class').newInstance();那个时候只知道生成驱动对象实例,后来才知道,这就是反射,现在

很多框架都用到反射机制,hibernate,struts都是用反射机制实现的。

4、反射机制的优缺点?
一句话,反射机制的优点就是可以实现动态创建对象和编译,体现出很大的灵活性,特别是在J2EE的开发中
    它的灵活性就表现的十分明显。比如,一个大型的软件,不可能一次就把把它设计的很完美,当这个程序编
    译后,发布了,当发现需要更新某些功能时,我们不可能要用户把以前的卸载,再重新安装新的版本,假如
    这样的话,这个软件肯定是没有多少人用的。采用静态的话,需要把整个程序重新编译一次才可以实现功能
    的更新,而采用反射机制的话,它就可以不用卸载,只需要在运行时才动态的创建和编译,就可以实现该功
    能。
       它的缺点是对性能有影响。使用反射基本上是一种解释操作,我们可以告诉JVM,我们希望做什么并且它
    满足我们的要求。这类操作总是慢于只直接执行相同的操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: