自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 spring 接口bean注入

在 spring 中,提供 FactoryBean 的接口,在容器启动时不仅将 FactoryBean 的实现注入到容器中,同时也会将 FactoryBean#getObject 的对象也注入到容器中,因此只需要在 getObject 方法中实现接口的代理。因此,扫描需要代理的接口,根据接口信息生成对应的 FactoryBean 的 bean 定义,并注入到容器中,其中在FactoryBean#getObject 完成接口的代理。这里以 openFeign 的服务接口的服务方式进行实现。

2024-04-15 14:02:08 366 1

原创 缓存数据一致性

通常情况下,系统使用缓存是为了提高系统的性能。在大多数情况下,使用缓存如下图:使用缓存也会带来一些问题,如缓存数据一致性问题,当有数据更新,在一段时间内缓存存储的仍是局值(取决于缓存的过期时间),在次期间请求查询缓存获取的是一个脏数据。保证缓存和数据库的数据一致性是必要的,通常由如下4种方案:(缓存有删除、更新 2 种策略;缓存操作和数据库操作有 2 种先后)更新缓存 --> 更新数据库(差)更新数据库 --> 更新缓存 (可行)删除缓存 --> 更新数据库(一般)

2024-04-11 21:49:38 1015

原创 不可变模式

若一个对象是不可变的,任何线程都可访问,任何线程对其修改都是对副本的修改,产生的是另外一个新的对象,不可变对象不存在线程安全问题。3:做好防御性保护,如集合,数组,对象这些,外界是访问到引用对象,从而可能修改对象内部的值,因此做好防御性复制,访问的都是引用对象的副本, 或者引用对象也做出不可变对象。Java 一个对象为不可变对象,则要求不能通过任何方式对原始对象进行修改,任何修改都只是对副本的修改,产生新的对象。1:对象的类必须是 final 的,防止任何类对其进行继承,防止子类修改,子类可能是可变的。

2024-04-10 22:47:01 496

原创 保护性暂挂模式

保护性暂挂模式是一种等待唤醒机制的一种规范,一般用户一个或多个线程等待另外一个线程的执行结果。如果需要源源不断接收一个线程产生的结果,则需要使用发布订阅或者观察者模式。保护性暂挂模式一般使用wait和notify、notifyAll等object的方法来实现线程的等待和唤醒机制,当然也可以使用 LockSupport,AQS等来实现。

2024-04-09 22:46:17 699 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除