摘要: java.lang.UnsupportedOperationException: null 这个错一般是因为不支持的操作导致,即对象不支持某方法,显示抛出此异常。 举个例子:Arrays.asList这个方法返回Arrays内部类ArrayList而不是java.util.ArrayList,而Ar 阅读全文
posted @ 2024-04-12 16:36 爱吃麦辣鸡翅 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1 背景 众所周知Java中的字符串占位符替换非常不友好,无论是String#format还是MessageFormat#format都只能说能用,但说不上好用,关于以上两种字符串格式化的用法请参考:Java String format 和 MessageFormat format,本文推荐org. 阅读全文
posted @ 2024-04-12 16:36 爱吃麦辣鸡翅 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 1 什么是策略模式 策略模式(Strategy Pattern):一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式定义了一系列算法或策略,并将每个算法封装在独立的类中,使得它们可以互相替换。通过使用策略模式,可以在运行时根据需要选择不同的算法,而不需要修改客户端代 阅读全文
posted @ 2024-04-12 16:31 爱吃麦辣鸡翅 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 一、前言 Dubbo是一款高性能且轻量级的开源Java RPC 框架,由阿里巴巴公司开发并在2011年开源,Dubbo不仅支持标准的RPC通信模型,还支持多种传输协议和序列化方式,可以根据具体需求进行配置。此外,它可以与Spring框架无缝集成,并且在阿里巴巴集团内部得到了广泛的应用。它的主要特点包 阅读全文
posted @ 2024-02-03 22:05 爱吃麦辣鸡翅 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 1.前言 在前面的文章中,提到一种手动提交多数据源事务的实现方式,dynamic-datasource包为我们提供了一种更为优雅,开箱即用的注解,即@DSTransactional,因为spring提供的@Tansactional注解是不支持多数据源的,@DSTransactional注解的出现刚好 阅读全文
posted @ 2024-01-20 13:03 爱吃麦辣鸡翅 阅读(2368) 评论(0) 推荐(0) 编辑
摘要: 1.前言 多数据源读写是我们日常开发工作中不可避免的场景,手动定义 Datasource 和 SqlSessionTemplate 不仅繁琐而且不够优雅。dynamic-datasource这个项目你可能没听过,但是作者团队的另一个项目你肯不陌生,那就是MyBatis-Plus。废话不多说,直接进入 阅读全文
posted @ 2024-01-14 23:55 爱吃麦辣鸡翅 阅读(1043) 评论(0) 推荐(0) 编辑
摘要: 1 前言 在日常开发中,一个方法中可能涉及到多个数据库的写入操作,这个时候再用Spring tx为我们提供的@Transactional注解就显得有些力不从心了,此时可以用第三方框架atomikos,atomikos是一个非常有名的分布式事务开源框架. 它有JTA/XA规范的实现, 也有TCC机制的 阅读全文
posted @ 2024-01-14 22:21 爱吃麦辣鸡翅 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 分布式限流 当你的应用分布式部署出现对等端(peer)时,单机的限流往往不能满足对下游保护的作用,因为它仅仅是jvm内存层面的流量控制。这个时候自然而然会想到用一些跨JVM的分布式中间件控制在单位时间窗口内的请求是否通行,本文我们将探讨如何借助Redis实现分布式限流。 1 固定窗口限流 前文已经介 阅读全文
posted @ 2024-01-13 18:31 爱吃麦辣鸡翅 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 随着应用访问流量的增加,下游服务的高可用性成为了不可忽视的问题。接口限流可以保护系统资源、防止流量洪峰和恶意请求,从而提高系统的稳定性、性能和可用性。本文将介绍4种应用层的限流方式及原理。 阅读全文
posted @ 2024-01-12 17:38 爱吃麦辣鸡翅 阅读(76) 评论(0) 推荐(0) 编辑