特征(OOP) 解释说明 通俗理解 关系联系 作用 封装 隐藏内部细节,只对外暴露访问方法 属性/方法封装,便于使用,限制不合理操作 类-类 低耦合,高内聚,增强代码可维护性;** 继承 新类吸收已有类数据(属性/行为),并能扩展新能力。 特殊特征(子类)-共同特征(父类) 父类-子类
对一般类和特殊类共同特征
,使系统模型比较
多态 两个类有继承关系,存在方法重写,父类指向子类 类-类 抽象
本质 : 利用类和对象 _编程_的思想方式。
区别 (原理) 数据结构 实现细节 时间复杂度 1.7 数组+单向链表(链表长时查询效率低) 先从数组,再到链表 O(N) 1.8 数组+单向链表+红黑树 同上,当链表元素超过8,将链表转成红黑树查找 O(logN)
区别 底层 方式 时间复杂度 优势(大数据下) ArrayList 数组 索引 O(1) 适合查找 LinkedList 链表 元素列表 O(N) 适合增删
Spring
IOC(Inversion of Control),控制反转,非技术,是一种设计思想,IOC是将设计好的对象交给容器控制,而不是传统在对象内部直接控制。
IOC容器作用:用于控制对象创建及注入依赖。
实现:
准备一个基本容器对象(包含map结构的集合,方便后续过程存储具体对象)
–>将需要创建的bean对象都封装成BeanDefinition对象存储在容器中(进行配置文件读取或注解解析)
–>容器将封装好的BeanDefinition对象通过反射的方式进行实例化(完成对象的实例化工作)
–>进行对象初始化操作(给类中的对应属性值进行设置/依赖注入,完成整个对象的创建,变成一个完整的bean对象,存储在容器的某个map结构中)
–>进行对象获取和逻辑处理工作(通过容器对象来获取对象)
–>提供销毁操作(当对象不用或容器关闭,将无用对象销毁)
- Spring 使创建 Java 企业应用程序变得更加容易。
- Spring支持各种应用场景。
-
Spring 是开源的。
-
spring是一个开源框架。
- spring是一个IOC(控制反转)和AOP(面向切面编程)的容器框架。
- spring是为了简化企业开发而生的,使得开发变得更加优雅和简洁。
容器:包含并管理应用对象的生命周期,就好比用桶装水一样,spring就是桶,而对象就是水
- Spring通过DI、AOP和消除样板式代码来简化企业级Java开发
- Spring框架之外还存在一个构建在核心框架之上的庞大生态圈,它将Spring扩展到不同的领域,如Web服务、REST、移动开发以及NoSQL
- 低侵入式设计,代码的污染极低
- 独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承诺
- Spring的IoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦
- Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式处理,从而提供了更好的复用
- Spring的ORM和DAO提供了与第三方持久层框架的的良好整合,并简化了底层的数据库访问
-
Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部
-
基于POJO的轻量级和最小侵入性编程
- 通过依赖注入和面向接口实现松耦合
- 基于切面和惯例进行声明式编程
- 通过切面和模板减少样板式代码
持更,定个小目标,尽量一天更五题,题目和答案由尚学堂修改而来
Original: https://www.cnblogs.com/Coding66/p/16153723.html
Author: Coding66
Title: Java面试整理(精简版)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/713722/
转载文章受原作者版权保护。转载请注明原作者出处!