自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2025-03-27 11:04:12 233

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

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

2022-09-25 20:42:29 2055

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

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

2022-06-09 21:53:19 480

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

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

2022-06-05 14:55:22 492

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

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

2022-06-05 13:04:13 14254

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

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

2022-05-17 16:33:10 1415

原创 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 1265

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

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

2022-05-11 15:42:23 843

原创 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 3809 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 5167

空空如也

空空如也

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

TA关注的人

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