本文我总结10 种优化 if else 的方法,当然根据不同的场景还可以使用多态、责任链模式、模板方法模式等更多方法来消除 if else。方案1:策略模式如果有 1 万个 if else 分支,那就会有 1 万个策略类,此时就会造成类膨胀,并且随着时间的推移逐渐变得更加庞大而复杂。如果是多层的 if else 嵌套,策略模式可能也无法派上用场了。方案2:策略模式变体Map&l
SpringBoot异步接口实现:提高系统的吞吐量
那些依赖于`!=null`的日子已经结束了
我司使用了两年的高效日志打印工具,非常牛逼!
将泛型和函数式编程结合,竟然会让代码这么优雅!
如何优雅的使用Optional类?
使用 RestTemplate 发送http请求的正确姿势原来是这样的!
1 策略模式支付方式有:微信,支付宝,银联等。定义策略接口public interface PaymentStrategy { void pay(double amount) ; }实现不同支付方式// 微信支付 @Component public class WeiXinPayment implements PaymentStrategy { @Override public voi
1 结论结论先行:事务+MQ的使用场景,使用方式一定得正确,稍有不慎,可能就会带来数据不一致问题。2 问题背景及现象3 排查过程3.1 初次分析发现问题,及时修复,加完锁上线,以为问题修复了,结果高兴太早了。3.2 问题再次出现3.2.1 分析思路一3.2.2 分析思路二3.2.3 分析思路三b.updateCostSuccess接口里,其实包含了三步操作,执行完后,还处于大事务中,事务并未提交,
现在开始讲讲我在工作中遇到的超百万数据的导入导出解决方案:想要解决问题我们首先要明白自己遇到的问题是什么?1、 我遇到的数据量超级大,使用传统的POI方式来完成导入导出很明显会内存溢出,并且效率会非常低;2、 数据量大直接使用select * from tableName肯定不行,一下子查出来300w条数据肯定会很慢;3、 300w 数据导出到Excel时肯定不能都写在一个Sheet中,这样效率会
一个注解轻松搞定审计日志服务!
EasyExcel合并单元格这样实现才是yyds
分布式链路追踪:TraceIdFilter + MDC + Skywalking
今天咱们就来聊聊在Spring事务管理中你可能踩过的坑,并教你如何规避这些陷阱。事务提交的陷阱有时,事务方法在抛出异常后没有回滚,而是被提交了。这通常是由于异常被捕获但没有显式抛出,导致Spring误以为事务正常完成。错误示例@Transactional public void processTransaction() { try { // 执行一些数据库操作
SpringBoot异步接口提高系统的吞吐量
WebSocket迷们请注意!你的集群方案来啦,火速围观!
这套轻量级的日志系统也许更适合你!
血泪教训,8 个线程池最佳实践和坑
Controller的定位,我认为是「不可或缺的配角」,说它不可或缺是因为无论是传统的三层架构还是现在的COLA架构,Controller 层依旧有一席之地,说明他的必要性;说它是配角是因为 Controller 层的代码一般是不负责具体的逻辑业务逻辑实现,但是它负责接收和响应请求。从现状看问题Controller 主要的工作有以下几项接收请求并解析参数调用 Service 执行具体的业务代码(可
首先看一个简单的例子:代码可能会抛出空指针异常,但这个异常就会被吞掉。要优雅解决问题,可以为线程池设置一个全局的异常处理器,使用自定义的线程工厂来设置!public class CustomThreadFactory implements ThreadFactory { private final ThreadFactory defaultFactory = Executors.defau
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号