2021年Java进阶面试题总结

1、Spring之IoC/(DI)和AOP

依赖注入(Dependecy Injection)和控制反转(Inversion of Control)是同一个概念

依赖注入有三种注入方式:属性注入,构造器注入,工厂注入(静态工厂和实体工厂)

依赖注入的底层实现机制:反射机制

面向切面编程(AOP):分为前置通知、切面、后置通知、异常通知

前置通知:在方法执行前执行

切面:相当于要实现的功能

后置通知:在方法执行后执行

异常通知:在方法抛出异常后执行

面向切面编程的底层实现机制:动态代理

2、Spring、SpringMVC、Springboot的区别

Spring就是一个大的bean工厂,存储Bean的容器

常见的bean对象如:dataSource、事务、以及我们用的@Component 组件(spring的bean对象)@Controller 控制器@Service 服务@Repository 仓库注解后经过自动臊面

都会形成bean对象

SpringMVC:这个容器就相当于 一个请求发送过来后,经过SpringMVC容器获取,分析后进行对应spring容器里相应bean对象的转发,返回的值在经过SpringMVC容器响应给前端页面

Springboot:相对于Spring和SpringMVC主要的区别在于简化配置、内嵌Web服务器(Tomcat、Jetty等)、提供POM,简化Maven配置

3、Mybaites中$和#的区别

$:不能防止SQL注入

#:可以防止SQL注入

原因说明:$替换什么是什么,#是已占位符(?)的形式进行替换会默认加单引号(‘’)

4、WebService有哪些优势

互操作性、跨平台性:应用程序可以使用Webservice以任何语言与另一个应用程序进行交互

更便宜的沟通成本:WebService确实使用SOAP over HTTP来允许任何人使用已经存在的用于WebService的Internet

5、ActiveMQ的作用总结(应用场景及优势)

业务场景说明:

队列的主要作用是消除高并发访问高峰,加快网站的响应速度。

在不使用消息队列的情况下,用户的请求数据直接写入数据库,在高并发的情况下,会对数据库造成巨大的压力,同时也使得系统响应延迟加剧。

在使用队列后,用户的请求发给队列后立即返回,

(例如: 当然不能直接给用户提示订单提交成功,京东上提示:“您提交了订单,请等待系统确认”),

再由消息队

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值