Java面试整理(精简版)

特征(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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 网络工程试验(一)链路聚合的三种情况

    复习一下华为基础的数通命令吧,原创文章,可能有技术理解错误,欢迎指正,请与我联系,谢谢! 介绍-链路聚合(eth-trunk) 将交换机两条或以上的二层物理接口绑定为一条逻辑接口:…

    技术杂谈 2023年6月21日
    085
  • 华为IPv6 GRE隧道

    IPv6 over IPv4 GRE封装隧道 实验目标: 该实验参考了华为官网案例配置https://support.huawei.com/enterprise/zh/doc/ED…

    技术杂谈 2023年6月21日
    0120
  • 知识图谱读书笔记5

    posted @2021-10-05 11:34 DarJeely 阅读(36 ) 评论() 编辑 Original: https://www.cnblogs.com/Jeely/…

    技术杂谈 2023年5月31日
    0113
  • Java8 Stream 的最佳实践

    java8stream提供了对于集合类的流失处理,其具有以下特点: Lazy Evaluation(长度可以无限) 只能使用一次 内部迭代 Lazy Evaluation类似函数式…

    技术杂谈 2023年7月24日
    056
  • netstat 命令

    a 表示所有 n 表示不查询dns t 表示tcp协议 u 表示udp协议 p 表示查询占用的程序 l 表示查询正在监听的程序 netstat -nupl (UDP类型的端口) n…

    技术杂谈 2023年5月30日
    077
  • Java线程的6种状态转换

    Java线程的生命周期 与操作系统中线程的五种状态区分开,Java线程有以下6种状态: New 新建 Runnable 可运行 Blocked 阻塞 Waiting 等待 Time…

    技术杂谈 2023年7月24日
    081
  • 【进阶】Java8新特性的理解与应用

    【进阶】Java8新特性的理解与应用 前言 Java 8是Java的一个重大版本,是目前企业中使用最广泛的一个版本。 它支持函数式编程,新的Stream API 、新的日期 API…

    技术杂谈 2023年7月10日
    068
  • Twitter系统架构参考

    Twitter系统架构参考 Push、Pull模式 每时每刻都有用户在Twitter上发表内容,Twitter工作是规划如何组织内容并把它发送用户的粉丝。 实时是真正的挑战,5秒内…

    技术杂谈 2023年6月1日
    098
  • Kettle_使用Pan.bat执行转换、Kitchen.bat执行作业

    注意:使用bat文件执行速度比执行在spoon.bat中执行慢很多 一、使用Pan.bat执行转换 Pan.bat文件路径:\pdi-ce-6.1.0.1-196\data-int…

    技术杂谈 2023年5月31日
    084
  • Redis集群(三)集群模式

    一、 集群的作用 集群,即Redis Cluster,是Redis 3.0开始引入的分布式存储方案。 集群由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中的节点…

    技术杂谈 2023年7月24日
    087
  • 简单易懂讲IO

    流式 IO 是传统 IO,通过构造输入输出流,讲信息从一个地方读取,输出到另一个地方。常见的有读取文件以及写入文件。 基本 API 流失 IO 基本可以分为两个门派,一个以 Inp…

    技术杂谈 2023年7月25日
    088
  • 并发上传md5值不匹配解决方法

    因为同步分片上传对于大文件非常耗时,如果并发上传定会出现乱序,而某些厂商的云盘没有对分片并发上传做相应处理,导致上传后的文件与原文件md5值不匹配。 以下给出我对此问题想到的解决思…

    技术杂谈 2023年6月21日
    098
  • 使用easyExcel注意事项

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月11日
    090
  • 【原创】SpringBoot 2.7.0通过lettuce及commons-pool2 v2.9.0集成Redis踩坑记录

    背景 公司的一个项目由于HTTPS证书到期,导致小程序、POS不能正常使用。所以百度了下,通过URL检测证书有效期的代码,并自行整合到一个服务中。代码仓库:[基于SpringBoo…

    技术杂谈 2023年7月10日
    078
  • 数组的改变和移动

    1.1 数组的改变 数组在内存中是一块连续的内存空间,我们可以直接通过下标进行访问,并进行修改。 在 Java中,对于 List类型来说,我们可以通过 set(idx, eleme…

    技术杂谈 2023年6月21日
    088
  • 链表算法题解题技巧归纳总结

    最近集中刷了一批链表的题型,在这里总结一下解题技巧,以及对应题目的解题思路。 解题思路并不会细致入微,主要是为了总结归类,并且希望用几句话来激发灵感,权当是没思路时的指引以及以后复…

    技术杂谈 2023年7月25日
    069
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球