小面一试吧

1.HashMap

HashMap的工作原理:

  1. HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。
  2. 当我们将键值对传递给put()方法时,会先调用键对象的hashCode()方法来计算hashcode,然后找到bucket位置来储存值对象
  3. 当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。
  4. HashMap使用链表来解决碰撞问题,当发生碰撞了,对象将会储存在链表的下一个节点中。 HashMap在每个链表节点中储存键值对对象。
  5. 当两个不同的键对象的hashcode相同时会发生什么? 它们会储存在同一个bucket位置的链表中。键对象的equals()方法用来找到键值对。

键值对存储是数据库最简单的组织形式。

2.Springmvc

springmvc工作原理

口述版

==1. 用户发起请求;
2. DispatcherServlet(前端控制器)接收请求并调用HandlerMapping(处理器映射器);
3. .HandlerMapping找到相应的Handler后,会将url映射的Controller返回给DispatcherServlet;
4. DispatcherSerclet则再去调用HandlerAdapter(处理器适配器)去找到实现对应接口的处理器;
5. 处理后的结果ModelAndView(模型视图)会返回给DispatcherServlet;
6. DispatcherServlet将接收到的ModelAndView传给Resolver(视图解析器)进行解析;
7. 解析后返回一个具体View(视图对象);
8. DispatcherServlet对View进行视图渲染,才将得到的视图对象返回给用户 ==

3.Spring

你对IOC的理解?

  1. IOC,控制反转,是一种设计思想。
  2. IOC容器负责实例化、定位、配置应用程序中的对象以及建立这些对象间的依赖。交由Spring容器统一进行管理,从何实现松耦合。
  3. 控制指的是IOC容器控制对象。相对于直接在对象内部通过new进行创建对象,IOC则是有专门一个容器来创建这些对象,而且还控制了对象对外部资源的获取。
  4. 说到反转,就得先说下正转了,正转就是我们在对象中主动控制去获取依赖对象;而反转则是由容器来帮忙创建及注入依赖对象。反过来说就是对象只是被动地接受依赖对象,即依赖对象的获取被反转了。
  5. 总的来说就是,有了IoC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。
口述版:

== IOC,就是一种控制反转的设计思想,我们普通地创建对象是直接在对面内部通过new进行创建对象的,而ioc则是有专门的容器来创建这些对象,让容器来帮忙创建及注入依赖对象。也就是把创建和查找依赖对象的控制权交给容器,这就是控制反转。 ==

DI(依赖注入)

依赖注入指的是容器动态的将某个依赖关系注入到组件中,提升了组件重用的频率,并为系统搭建一个灵活可扩展的平台。
应用程序依赖于IOC容器,因为应用程序需要IOC容器来提供对象需要的外部资源。
构造器注入、属性注入、方法注入
== 除了IOC外还有一个DI也就依赖注入 ==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值