黑马程序员技术交流社区

标题: 反射影响了java的安全性吗 [打印本页]

作者: HM刘鹏    时间: 2013-3-15 16:25
标题: 反射影响了java的安全性吗
总所周知,Java语言是完全面向对象的。类对属性和方法进行封装,通过访问修饰符提供外界可访问的权限。
但是通过反射可以获取类中的任何信息,包括私有信息。那么对于类而言,反射岂不是破坏了类的封装性和安全性。
如果是这样,java还安全吗?

请各位高手解答小弟的疑问?
作者: HM刘鹏    时间: 2013-3-15 16:44
能解释的通俗易懂一些吗?
作者: 沉默de羔羊    时间: 2013-3-15 18:09
javaMaster 发表于 2013-3-15 16:44
能解释的通俗易懂一些吗?

反射,可以通过setAccessible方法使权限可以访问public,protected,private的字段!
就算是暴力入侵了,这种方法破坏了JAVA原有的权限体系,他的执行效率也不高。
嗯,只是这一点也不能说是java不安全,只能说他存在一定的入侵口,有一定的风险,你也知道要是使用反射,首先也知道那个类的名称啊,方法名称和其对应的方法参数列表和属性名称等这些信息,才能操作!
作者: 范天成    时间: 2013-3-15 18:38
有得就有失,反射可以使得程序更加的灵活,可扩展性更强,再说没有绝对的安全,只要安全性在可控范围内就可以了。就好像java为了的跨平台性而使用了虚拟机技术,跨平台的问题是解决了,但是效率被C语言甩的老远{:soso_e113:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2