java 反射api

前几天我在想-这是最重要的Java API。 哪种SE和EE API可以使大多数Java生态系统成为可能,而哪些API不能重新创建为第三方库。

正如您可能已经猜到标题一样,我认为它是Reflection API 。 是的,它不可避免地是每个项目的直接或间接的一部分。 但这对于许多其他API(尤其是Collection API)而言确实如此。 但是,Reflection API的重要之处在于,它启用了当今大多数流行的工具和框架-Spring,Hibernate和大量的Web框架。

其他大多数API都可以在JDK之外实现。 Collections API很可能是commons-collect或番石榴。 最好将它作为JDK的一部分,但没有它我们可以进行管理(它出现在Java 1.2中)。 但是反射API不能。 它几乎必须是语言的组成部分。

没有反思,您将无法拥有我们今天使用的任何精美工具。 不是ORM,不是依赖项注入框架,也不是大多数Web框架。 好吧,从技术上讲,您可能在某个时候有了主题– 使用SPI或仅使用java-config。 可能有人争辩说,如果不是为了反思,我们将跳过整个XML配置时代,而直接涉足基于代码的配置。 但是,依赖于所有这些框架中的反射的不仅仅是配置。 即使Spring可以在配置过程中实例化其bean并通过将它们转换为InitalizingBean初始化,您将如何处理自动连接的注入而无需进行反射(“手动”不算在内,因为它不是自动装配的)? 在Hibernate状态下,自省和Java bean API似乎足够了,但是当您深入研究时,它们还不够。 通常,不可能处理注释。

没有这些框架,Java就不会是今天的广泛技术。 如果我们没有庞大的开源生态系统,那么Java将会是相当小众的市场。 当然,这不是唯一的因素–语言设计者然后JVM实现者正确地做了很多事情。 但是,我认为反思是其中之一。

是的,使用反射感觉很麻烦。 在非框架代码中进行反射似乎是不得已的事情–仅在给定库未正确设计用于扩展的情况下才使用它,但您需要对其进行一些微调以适合您的情况。 但是,即使您的代码库中有零反射代码,您的项目也可能充满了它,没有它就不可能实现。

使用反射的需求可能被视为该语言的不足之一–您无法使用该语言所提供的功能做重要的事情,因此您诉诸了一种魔术API,该API可让您不受限制地访问否则(据说)经过精心设计的蜜蜂。 但是我想说,即使进行反思也是事实上的语言功能。 它可能是使Java如此流行和普及的关键因素。

翻译自: https://www.javacodegeeks.com/2019/06/reflection-is-the-most-important-java-api.html

java 反射api

java 反射api_反射是最重要的Java API相关推荐

  1. 浅说Java中的反射机制(一)

    在学习传智播客李勇老师的JDBC系列时,会出现反射的概念,由于又是第一次见,不免感到陌生.所以再次在博客园找到一篇文章,先记录如下: 引用自java中的反射机制,作者bingoideas.(()为我手 ...

  2. Java中为什么需要反射?反射要解决什么问题?

    Java中为什么需要反射?反射要解决什么问题? 参考文章: (1)Java中为什么需要反射?反射要解决什么问题? (2)https://www.cnblogs.com/buoge/p/9285142. ...

  3. JAVA基础--JAVA中的反射机制详解

    JAVA反射机制     JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的信息以及动态调用对象的方法的功能 ...

  4. java 反射 ppt_Java反射的基本使用

    这里是修真院后端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析后端知识/技能,本篇分享的是: [Java反射的 ...

  5. Java 学习笔记 反射与迭代器

    反射 使用反射获得Class类 Class cls = Class.forName("全类名") //包括包名 Class cls = xx.Class;//xx代表类名 Clas ...

  6. 关于Java你不知道的那些事之Java注解和反射

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 作者:轻 ...

  7. Java反射机制的基本概念与使用_Java进阶之reflection(反射机制)——反射概念与基础...

    反射机制是Java动态性之一,而说到动态性首先得了解动态语言.那么何为动态语言? 一.动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化.比如常见 ...

  8. Java中的反射的应用

    在正常情况下,需要先有一个类的完整路径引入之后才可以按照固定的格式产生实例话对象,但是在Java中也允许通过一个实例话对象找到一个类的完整信息.那么这就是Class类的功能. 实际上类是Java反射的 ...

  9. java f反射_java反射机制

    反射定义 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为jav ...

最新文章

  1. SQLserver 常用函数适用方法(转载)
  2. ITK:将两个图像加在一起
  3. .Net Aop(静态织入)框架 BSF.Aop
  4. HDU 4907 BestCoder3_1 Task schedule
  5. 2021湖南高考成绩分段查询,2021年湖南高考成绩排名查询系统,湖南高考位次排名表...
  6. APACHE ACTIVEMQ安装
  7. vs2005用正则表达式统计有效代码行数
  8. HA模式下的java api访问要点
  9. 【stm32开发日志】步进电机、直线模组、丝杆的接线、编程与使用
  10. php ioncube encoder,Ioncube PHP Encoder
  11. java数独求交集方法,标准数独解题之旅(用一道数独题讲解最基本的5种解题技巧)(二)...
  12. 怎样用计算机将二进制转换成十进制,二进制如何转换为十进制?
  13. mongoDB占内存超大的问题-100MB数据,内存吃到22GB?
  14. 单方差分析MATLAB,MATLAB单因素方差分析.PDF
  15. 硬盘数据恢复入门教程[三]----逻辑盘BPB表篇
  16. mysql分组后为0也显示_C罗离开后,梅西6次参加国家德比的数据为0球0助!
  17. mysql 改成 localhos_MySQL添加用户、删除用户与授权
  18. 超市购物系统小票打印
  19. (转)iOS 上的相机捕捉
  20. Oracle 使用xtts升级11g-to-19c

热门文章

  1. 膜拜大丹(结论+二元环)
  2. CSPNOIP2020总结
  3. P2710-数列【Splay】
  4. 51nod-有限背包计数问题【dp】
  5. U102380-简单数据结构题【Trie】
  6. codeforces1494 D. Dogeforces(构造)
  7. 【传递闭包】【倍增】幸福路径(P4308)
  8. 2017上海金马五校 购买装备 贪心+二分Check
  9. 动态规划训练22 [Milking Time POJ - 3616 ]
  10. Spring整合mybatis中的sqlSession是如何做到线程隔离的?