基础面试题整理5之AOP与IOC

1.事务基本特性

  • A(原子性):要么全部成功,要么全部失败;
  • C(一致性):程序设计要与业务逻辑相匹配;
  • I(隔离性):事务之间是互不干扰的;
  • D(持久性):事务提交后数据会存储到磁盘中;

2.AOP理解

AOP:面向切面编程,体现了低耦合的特点;一般用于日志、权限等核心组件,而这些核心组件融入到业务逻辑中(每个业务逻辑都需要补充核心组件)会造成代码冗余,所以使用aop实现;通过将公共代码逻辑抽象出一个切面,然后注入到目标对象(具体业务)中;aop就是通过动态代理的方式,将需要注入切面的对象进行代理,在调用时将公共逻辑添加进去,不改变原有业务逻辑,直接对原有业务逻辑进行功能加强即可;具体可见aop日志处理 

下面简单介绍几个核心概念:

切面:有@Aspect注解,生成公共逻辑;

连接点:某个方法调用的时间点或者异常处理的时间点。一个连接点代表一个方法的执行;

通知:在切面的某个特定连接点执行的动作,常有around、after、before等;

切点:满足该切点的连接点上进行通知操作;@PointCut注解;

3.IOC理解

依赖注入

应用程序依赖IOC容器,将应用程序所用的对象注入到IOC容器中,需要时直接获取即可;

没有IOC时使用new创建对象,有了IOC可以通过构造函数注入、属性注入等方式进行依赖注入;

控制反转

由之前的程序内部new对象,反转为IOC容器控制对象的生命周期;

4.kafka的rebalance机制

rebalance是一个协议,规定了一个消费组下的消费者如何分配topic的分区

触发rebalance机制的条件:

  • 消费者成员个数发生变化(新增消费者加入到消费组中或离开消费组)
  • 订阅的topic个数发生变化
  • 订阅的topic的分区发生变化

消费者分区策略:

  • Range 范围分区(默认)
  • RoundRobin 轮询分区
  • Sticky策略

kafka其他知识点待补充!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值