摘要:
装饰者模式/包装模式是指在不改变原有对象基础上,将功能附加到对象上。提供了比继承更有弹性的替代方案。 装饰者模型核心是不改动原先业务内容,但又给原来业务增加额外职责东西。 装饰者模式框架图: 原先主业务接口以及实现类 修饰者基类 implements InterfaceComponent 修饰者具体
阅读全文
posted @ 2023-03-07 13:44
colorfulworld
阅读(18)
推荐(0)
摘要:
工厂模式本质是让对获取对象过程的抽象 现有如下需求,根据输入类型,将数据存到Mongo还是Oracle,如下两个实例分别不使用工厂与使用工厂模式的比较 1. 不使用工厂模式 如下实例中,根据controller层输入type不同类型,需要hardcode加if...else..逻辑来判断执行哪个se
阅读全文
posted @ 2023-03-04 21:31
colorfulworld
阅读(718)
推荐(0)
摘要:
1. ConcurrentHashMap结构 Java8 以前ConcurrentHashMap是数组+链表 Java8及以后ConcurrentHashMap是数组+链表+红黑树 结构这方面和HashMap比较类似,具体参考:https://www.cnblogs.com/enhance/p/11
阅读全文
posted @ 2023-02-25 15:09
colorfulworld
阅读(150)
推荐(0)
摘要:
producer可能给多个topic,多个partition发送消息,这些消息组成一个事务,这些消息需要对consumer同时可见或者同时不可见。Kafka事务需要在producer端处理,consumer端不需要做特殊处理,跟普通消息消费一样 1.事务流程 整个流程步骤: 事务初始化: InitT
阅读全文
posted @ 2023-02-22 17:15
colorfulworld
阅读(854)
推荐(0)
摘要:
1.Spring Boot Security简介 Spring Security是一個安全组件。Spring Security采用“安全层”概念使每一层都尽可能安全。Spring Security可以在Controller层、service层、Dao层等通过加注解的方式来保护应用程序的安全。 在安全
阅读全文
posted @ 2023-02-07 21:39
colorfulworld
阅读(202)
推荐(0)
摘要:
1.Spring Cloud简介 Spring Cloud是一个微服务框架,常用组件如下: Eureka:实现服务的注册与发现(可以理解为注册中心,另外Spring Cloud也支持Zookeeper、Consul用于服务注册和发现)。Eureka组件提供服务的健康检测以及界面友好的UI,便于开发人
阅读全文
posted @ 2023-02-07 11:40
colorfulworld
阅读(284)
推荐(0)
摘要:
线程互斥是指某一代码同时只能允许一个线程访问 对象锁:对象锁锁的是对象,所以说如果这个锁是对象锁,而且是同一对象下多线程,那么线程间是互斥的。对象锁包含:锁非静态方法/对象/代码块类锁:类锁锁的是类,如果这个锁是类锁,而且是同一类(可以是不同对象)下多线程,那么线程间是互斥的。类锁包含:锁静态方法/
阅读全文
posted @ 2023-01-12 15:40
colorfulworld
阅读(333)
推荐(0)
摘要:
1. 线程状态图 wait: Object方法,当前线程执行wait将释放锁,进入等待池中,等待其他线程唤醒 sleep: Thread方法,当前线程只是休眠并不释放锁 yield: Thread方法,优先执行其他线程,不释放锁 join: Thread方法,是一种特殊wait。比如有两个线程t1、
阅读全文
posted @ 2023-01-11 08:36
colorfulworld
阅读(657)
推荐(0)
摘要:
1. cap基本理论 cap是指在分布式系统中,一致性(consistency)、可用性(avaliablity)、分区容错性(partition tolerance) 一致性 all nodes see the same data all the same time.所有主副结点同一时间数据完全一
阅读全文
posted @ 2023-01-07 15:19
colorfulworld
阅读(233)
推荐(0)
摘要:
1. CAS基础 cas使用场景时多线程中数安全 1.1 CAS操作原理 CAS: compare and swap CAS操作包含三个操作数:内存位置(V)、预期原值(A)、更新值(B); 实例: AtomicInteger at=new AtomicIngeger(3); at.incremen
阅读全文
posted @ 2023-01-07 12:46
colorfulworld
阅读(128)
推荐(0)