我怎么觉得你应该问一般什么情况用反射吧,一般工厂模式用反射机制比较多,典型的是spring框架

解决方案 »

  1.   

    1、效率低       new不是依赖反射机制实现?
    2、破坏了原有的架构,代码结构混乱,不便管理;             或许吧。
    3、安全、权限问题         谁叫你不注意。
      

  2.   


    我觉得反射正是java的精华所在。反射是比较慢,但那也是相对来说的,只要使用不频繁,反射就是神器。特别是反射和注解合用,可以写出超级方便的框架。相比之下,java的泛型真是渣渣到死,各种限制,各种编译不过。
    说反射代码结构混乱,那也是用到反射的那点代码,但作为框架,反射可以让框架用起来简单很多,灵活很多。事实上现在java各种框架,就没一个不是大量使用反射的。
      

  3.   


    我曾经在 myjavaserver.come 这个免费 JSP 主机上创建一个临时账户,上传一个最简单的 war 里面只有一个主要的文件,其中写着 <% System.exit(0) %> 然后这个网站服务器停机了。你知道原因,对吧。作为一个平台性质的服务器管理,我们不应该允许不设定任何我们安全策略的情况下同时跑着很多应用程序。上面就是一个鲜活的例子。它直接导致服务器宕机了,但想要写出一个符合绝大多数“正常程序“所需要的 java policy 却是一个很头痛的问题。
      

  4.   

    个人看法
    非反射的代码错误,一般写的时候就能看出来,或者判断出来
    但反射的代码,必须运行时才能看出是否有问题反射适合做框架用,不适合自己写代码用
    像struts,hibernate和spring都应用了反射来进行映射匹配