面试-12

(12条消息) RabbitMQ笔记---对比其他MQ优缺点_求求你,别报错了!的博客-CSDN博客_rabbitmq和其他mq区别

(12条消息) 必知必会 RabbitMQ面试题 33道(附答案)_田维常-CSDN博客

rabbitmq 中 vhost 的作用是什么? - 莫等、闲 - 博客园 (cnblogs.com)

 

(12条消息) SpringCloud-Alibaba之Nacos,Java集合面试题及答案_m0_60229361的博客-CSDN博客_nacos面试题

(12条消息) Nacos原理梳理心跳机制_New_CJ的博客-CSDN博客_nacos原理和机制

(12条消息) Nacos心跳机制_m0_55580685的博客-CSDN博客

(12条消息) Nacos注册中心学习笔记_nym232的博客-CSDN博客

 

Springboot和SpringMVC区别 - xdyixia - 博客园 (cnblogs.com)

 

介绍下你知道的IO模型? - 知乎 (zhihu.com)

 

深入理解 Spring 事务原理 - 落叶的博客 - 博客园 (cnblogs.com)

  

(12条消息) Java 关键字 volatile 的应用场景_maoxian007的专栏-CSDN博客_volatile的应用场景

 

分布式事物(2PC,3PC,CAP,柔性与刚性事物,LCN) - JavaShuo

 

分布式事务之解决方案(最大努力通知) - 知乎 (zhihu.com)

 

可靠消息最终一致(异步确保型) - SegmentFault 思否

 

代理模式和装饰器模式的区别 - 知乎 (zhihu.com)

 

Spring循环依赖的三种方式以及解决办法 - 一中晴哥威武 - 博客园 (cnblogs.com)

Spring 为何需要三级缓存解决循环依赖,而不是二级缓存 - 半分、 - 博客园 (cnblogs.com)(解决aop问题)

我们会发现再执行一遍singleFactory.getObject()方法又是一个新的代理对象,这就会有问题了,因为AService是单例的,每次执行singleFactory.getObject()方法又会产生新的代理对象,假设这里只有一级和三级缓存的话,我每次从三级缓存中拿到singleFactory对象,执行getObject()方法又会产生新的代理对象,这是不行的,因为AService是单例的,所有这里我们要借助二级缓存来解决这个问题,将执行了singleFactory.getObject()产生的对象放到二级缓存中去,后面去二级缓存中拿,没必要再执行一遍singletonFactory.getObject()方法再产生一个新的代理对象,保证始终只有一个代理对象。还有一个注意的点

Spring为什么不使用二级缓存?Spring 动态代理时是如何解决循环依赖的?为什么要使用三级缓存?... - 知乎 (zhihu.com)

 

工厂模式的好处就在于将工厂和产品之间的耦合降低,将具体产品的构造过程放在了具体工厂类里面。在以后扩展产品的时候方便很多,只需要添加一个工厂类,一个产品类,就能方便的添加产品,而不需要修改原有的代码。而在简单工厂中,如果要增加一个产品,则需要修改工厂类,增加if/else分支,或者增加一个case分支,工厂模式符合软件开发中的OCP原则(open close principle),对扩展开放,对修改关闭。

 

原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。

Spring面试,IoC和AOP的理解 - 牧涛 - 博客园 (cnblogs.com)

面试之Spring框架IOC和AOP的实现原理 - 搞定你了随便吧 - 博客园 (cnblogs.com)

(12条消息) Spring AOP常见面试题整理_南丘xf的博客-CSDN博客

Spring AOP的实现原理 ? - 知乎 (zhihu.com)

posted @ 2021-11-27 16:26  所在丶  阅读(61)  评论(0编辑  收藏  举报