java反射技术是什么?有什么作用?

TheDisguiser 2020-08-20 17:29:45 java常见问答 4922

反射技术是java进阶技术必须掌握之一,java的一些功能原理底层基本都是反射实现,今天就来了解一下java中的反射。

首先,什么是反射机制?

1982年,编程开发人员Smith提出的反射的概念,主指应用程序的访问、检测、及修改自身状态和行为能力。

概念一经提出,就引起的互联网业界极大的关注,随后就是一场编程革命的崛起,带动研究,各种支持反射机制的面向对象语言也是由此诞生。

所谓反射,其实就是指在程序运行当中,能够随意的构造一个类的对象及它所属的类和成员变量及方法,还能随意调用对象的属性及方法,像这样动态的获取程序信息和动态调用对象的功能就被称为反射。

在计算机科学的领域当中,反射指的是一种能够自我描述以及自我控制的应用,在java语言当中,反射则是一种非常强大有利的工具。

它是一种面向抽象编程的一种实现方式,它可以使得代码语句更加的灵活,能够极大的提升代码运行的时候的装配能力。

其次,反射机制的作用是?

能够在运行时判定任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判定任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理,这就是反射。

最后,反射机制有哪些优缺点?

优点

极大的提升方便性与灵活性。

缺点

程序健壮性

反射是允许代码执行一些不被允许的操作,所以说有时使用反射所带来的后果是我们都很难料想到的。

具体的来说,反射代码将Java程序结构的抽象性进行了破坏,所以,在程序运行的平台发生了改变的时候,因为抽象的逻辑结构不能被识别,所以会导致,代码产生的效果会和之前的效果有所差异。

性能

java反射机制当中含有一些动态类型,java虚拟机不能够对这些动态代码进行优化,所以,反射操作的效率比正常的操作效率要低。

安全限制

反射一般都需要程序的运行没有安全方面的限制,这会让程序变得危险。

以上就是本篇文章的所有内容,更多java入门知识敬请关注本网站了解详情。

推荐阅读:

java反射面试题常见有哪些?面试题解析

java反射机制面试题及答案整理,java反射面试题

java反射执行方法有哪些?java反射调用方法