Java库和框架之间有什么区别?这两个概念很重要,但对于Java开发人员而言有时会造成混淆。

1.库和框架的主要区别和定义

库和框架之间的主要区别是“控制反转”。当您从库中调用方法时,就处于控制之中。但是,有了框架,控件就会被颠倒:框架会调用您。
库只是类定义的集合。背后的原因仅仅是代码重用,即获取其他开发人员已经编写的代码。这些类和方法通常在域特定区域中定义特定操作。例如,有一些数学库可让开发人员仅调用函数而无需重做算法工作原理的实现。
在框架中,所有控制流都已经存在,并且应该在代码中填充一堆预定义的白点。框架通常更复杂。它定义了一个骨架,应用程序定义了自己的功能来填充骨架。这样,框架将在适当的时候调用您的代码。这样做的好处是,开发人员不必担心设计是否好,而只需要担心实现特定于领域的功能。

2.他们的关系

他们两个都定义了API,供程序员使用。为了将它们组合在一起,我们可以将库视为应用程序的特定功能,将框架视为应用程序的框架,而API是将它们组合在一起的连接器。典型的开发过程通常从框架开始,然后通过API填写库中定义的功能。
最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。

Java库和框架之间到底有什么区别?相关推荐

  1. spring揭秘_被问到了! Spring 和 Spring Boot 之间到底有啥区别?

    相信很多小伙伴和我一样,常用Spring 和Spring Boot 但是就是没有研究二者之间到底有什么区别? 今天就来大揭秘 ↓ 概述 对于 Spring和 SpringBoot到底有什么区别,我听到 ...

  2. Spring 和 Spring Boot 之间到底有啥区别?

    概述 对于Spring和SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习SpringBoot的我当时也是一头雾水,随着经验的积累.我慢慢理解了这两个框架到底有什么区别,相信对于用了 ...

  3. spring boot security ajax_Spring 和 SpringBoot 之间到底有啥区别?

    来源:uee.me/cNDC8 概述 对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累.我慢慢理解了 ...

  4. pyHook pyHook3 区别_一般过去时态和现在完成时态之间到底有什么区别?通过一道语法题,帮你彻底讲清楚!...

    有同学在群里问了一道关于"现在完成时态和一般过去时态之间区别"的语法题,摘录如下: There is someone knocking at the door. -- It mus ...

  5. 低代码之间到底有些什么区别?对比编译型平台“iVX 无远 牛刀”以及接口型平台“明道 宜搭 简道 轻流 氚云 ”

    跟踪研究了很长时间,写一篇文章来和大家分享. 首先,我想说的是,大家不要对"地代码""无代码"有什么偏见,这些都是技术发展的必然,我们只讨论发展的阶段和相关的技 ...

  6. SAN和NAS之间到底有什么区别?

    今天小编为大家介绍一下SAN和NAS之间的基本区别 : 在我看来,SAN和NAS之间的基本区别是,SAN是基于Fabric的,而NAS是基于以太网的. SAN是提供LUN方式给客户端使用,客户端需要M ...

  7. 十元的耳塞到万元耳塞,之间到底有什么区别

    第一个音质关键词,解析度 解析度可以理解为器材还原音乐细节信息量的多少,是一个耳机耳塞包括音箱最基本的素质,也直接决定了器材的定位和定价.同一首曲子,不同器材让你听到的细节内容是不同的,如果信息量不够 ...

  8. java奥运会安排赛程问题_记录奥运-当今五大Java记录框架之间的竞赛

    java奥运会安排赛程问题 开发人员:Takipi会告诉您何时新代码在生产中中断– Log4J vs SLF4J简单vs Logback vs Java Util日志记录vs LOG4J2 日志记录实 ...

  9. java 中 print、println 与 printf 的区别

    1.前言 如果你是 java 的初学者,那相信你一定会有过疑惑,就是 java 中三大输出方式到底有什么区别.所以,小编就通过具体实例来详细来聊一聊. 2.java 的输出方式 Java 的输出方式一 ...

最新文章

  1. 注意我写的OTA短信同步设置的代码有很多问题
  2. java cpu 监控工具_Java自带的GUI性能监控工具Jconsole以及JisualVM简介
  3. Java BigDecimal plus()方法与示例
  4. 从身份证管理系统思考企业CMDB的建设
  5. cuDNN编写卷积实例
  6. Web前端工作笔记002---json数据查询的方法_json查询大全,JsonSQL数据查询,jfunk数据查询
  7. 深度学习:自然语言生成-集束/柱搜索beam search和随机搜索random search
  8. Linux 基本网络配置
  9. 早该知道的 7 个JavaScript 技巧[转]
  10. Mybatis学习笔记(九) —— Mybatis逆向工程
  11. PAT乙级.1013.数素数
  12. python朋友圈点赞统计_微信公众号所有历史文章的标题/点赞数/阅读数统计
  13. 《这里是中国》精美词句摘抄
  14. 【Redis】布隆过滤器
  15. MSP430 TTP229 单片机 触摸按键 实践 51单片机 触摸键盘
  16. error 系统错误 错误码10007_linux系统中socket错误码:eintr和eagain的处理方法
  17. 计算机电池维修方案,解决方案:计算机主板电池已耗尽,如果不更换电池该怎么办?如何更换电池...
  18. golang 捕获 C/C++ 错误并做善后处理
  19. 关于DWA导致的程序崩溃或挂死问题
  20. 科技查新网站有哪些?

热门文章

  1. unity移动游戏优化指南
  2. ReactNative系列之十二图标组件react-native-vector-icons的使用
  3. uniapp组件-uni-icons 图标
  4. 本人从事Java十余年~是时候收徒弟~包教包会~深藏功与名~
  5. multisim信号采集及回放、文氏电桥正弦波
  6. 【LCT】[COI2009] OTOCI
  7. 车载调频广播电台移动发射系统应用
  8. 创新案例分享 | 高效建设一体化智能化公共数据平台,全方位赋能城市治理
  9. Java实现矩阵的乘法
  10. python 打印直角三角形