自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据库执行distinct和order by为什么有时候冲突,有时候正常执行?

摘要:开发与测试环境的SQL执行结果不同,开发环境能执行SELECT DISTINCT 列A ORDER BY id而测试环境报错。经排查发现测试环境开启了ONLY_FULL_GROUP_BY模式,要求ORDER BY列必须出现在DISTINCT中。解决方案包括修改数据库配置或改写SQL。问题根源在于不同环境的SQL模式配置差异。

2025-10-30 14:28:05 171

原创 Spring同时传文件和参数的controller写法和postman调用

本文介绍了Spring MVC中处理文件上传的三种常见场景:1)同时传输对象和多个文件,使用@RequestPart注解;2)使用Map/MultiValueMap传输带key标识的文件或文件列表,需用@RequestParam注解且不指定名称;3)结合前两种场景,同时传输对象和带key标识的文件列表。每种场景都提供了控制层代码示例和Postman调用截图,重点说明了注解使用、参数配置和Content-Type设置等关键注意事项。这些补充示例对官方文档中未详细说明的实际应用场景具有实用参考价值。

2025-10-30 13:29:07 674

原创 【java】字符数组转字符串(Character[]、char[] 转String)

刷题用char[]习惯了,才注意到Character[]转String的方法不一样。小存一下几个简单的转换方法。

2025-06-06 16:05:26 359

原创 简单记录多线程修改同一个变量的三种方式:synchronized、ReentrantLock、AtomicInteger

2个线程,对同一个值做累加。如何保证数据正确

2025-03-27 11:04:12 408

原创 如何使用postman10 mock一个接口并设置返回参数为json

如何使用postman v10来模拟mock一个接口,并且设置返回json格式。避免报错DecodeException、DecodeException

2022-09-25 20:42:29 2405

原创 结合ArrayList源码看fast-fail机制

fast-fail机制是一种错误检测机制,在遍历元素时很常见。结合ArrayList的源码来看迭代器、subList中的fast-fail机制。

2022-06-09 21:53:19 557

原创 装饰器模式、代理模式与AOP

简介静态代理、动态代理、AOP的写法

2022-06-05 14:55:22 575

原创 SpringBoot切面Aspect未生效的原因

记录几个SpringBoot切面未生效的原因:1. 目标类未进入Spring生命周期2. 切面类未定义为bean3. 切面类未成功加载4. 切点定义错误

2022-06-05 13:04:13 15123

原创 Spring默认Bean为单例,有状态单例在多线程场景的问题

走查代码时发现有dubbo接口,将入参作为了类的成员变量。Spring内大多数注释默认是单例的,也就是说这样形成了一个有状态的单例。在单线程环境,或者入参固定的场景下,这样是没有问题的,但是在并发情况下,成员变量的获取可能会有问题。目录问题代码模拟造成原因解决方法1. 成员变量改为方法的内部参数2. 使用TreadLocal问题代码模拟为了方便使用@Service模拟问题接口:@Servicepublic class SingletonStateTestService { privat

2022-05-17 16:33:10 1561

原创 SpringBoot - 通过注解装配Bean的两种方式

目录使用@Bean注入容器默认指定name根据类型获取bean根据name获取bean使用@ComponentScan扫描注入容器默认属性自定义扫描路径过滤器设置依赖延迟注入使用@Bean注入容器默认直接在方法上加@Bean,Bean名称默认为方法名指定name允许使用@Bean("xxx")指定name,效果同@Bean(name = "xxx")对应类型重复的bean: @Bean("user") public UserDto initUser() { User

2022-05-15 17:45:48 1387

原创 JAVA类初始化顺序及final常量初始化顺序

整理下类初始化顺序,以及特殊场景和常量初始化

2022-05-11 15:42:23 959

原创 JAVA8 - Optional中map、orElse、orElseGet是否执行

map:当Optional中对象为null时不执行Integer i = null;// 不报错,map中未执行Optional.ofNullable(i).map(n -> n + 1).orElse(0);orElse:一定会执行Integer i = 1, j = 10;// 结果j = 11; orElse中执行Optional.ofNullable(i).map(n -> n + 1).orElse(j++);orElseGet:当Optional中对象为null时

2022-05-11 10:30:24 4019 3

原创 Junit单元测试多线程

Junit单元测试多线程Main方法里执行多线程 vs 使用Junit测试多线程main方法调用结果Junit测试结果解决方法先说结论:Junit不支持多线程,在主线程执行完后,无论是否是守护线程,都会直接退出。导致子线程可能未执行结束。Main方法里执行多线程 vs 使用Junit测试多线程用于测试的多线程类:public class MultiThreadCls { public void func() { System.out.println("func start"

2022-04-18 14:06:04 5220

空空如也

空空如也

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

TA关注的人

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