- 博客(6)
- 收藏
- 关注
原创 Spring 发生 has not been refreshed yet 异常
Spring发生ApplicationContext has not been refreshed yet 错误的场景为:在Spring容器初始化时发生异常,此时 Spring还没有执行 destroy(该方法中会执行 close()->doClose())方法时尝试去获取Bean时会出现这个问题。因为在Spring容器初始化时发生异常Spring会在catch块中捕捉异常然后调用...
2019-09-22 17:20:03 36261 5
原创 使用Arrays.asList 的坑(UnsupportedOperationException)
我们在工作中应该会经常使用到 Arrays.asList 方法来创建 List 对象,我们通常会认为使用这个方法创建出来的 List 是 java.util.ArrayList 类型,但其实通过这个方法创建出来的是Arrays 自己的内部类 Arrays.ArrayList ,这个方法中的 add、remove 等改变数据的结构的方法会直接抛出异常,因为在使用Arrays.ArrayList 的a...
2019-09-22 17:19:27 678
原创 Java子线程异常及异常处理
最近使用线程池时,了解到了在子线程中抛出异常,主线程的处理方式。Java中抛出 Exception 时必须使用 try..catch 块处理,但是抛出 RuntimeException 和 Error 时可以不使用 try..catch 块来处理,但是会导致线程中断。如下为抛出RuntimeException代码示例:public class ChildThread implements...
2019-09-22 17:16:05 3844
原创 使用Redis实现并发一致性
我们现在基本都是使用mysql来实现对金额的操作,保证数据的准确性,那能不能使用redis来对金额进行操作并保证数据的准确性呢?可以利用 redis 的事务来实现这个想法。redis 的 WATCH 和 EXEC 可以提供类似事务的机制:WATCH观察key是否被改动,如果提交时key被改动,EXEC将返回null,表示事务失败。假设redis客户端执行:$money = GET ke...
2019-09-22 17:14:08 407
原创 Spring七种事务传播特性
Spring七种事务传播特性:REQUIRED如果不存在外层事务就主动开启事务,否则使用外层事务。SUPPORTS如果不存在外层事务就不开启事务,否则使用外层事务。MANDATORY如果不存在外层事务就抛出异常,否则使用外层事务。REQUIRES_NEW总是主动开启事务,如果存在外层事务,就将外层事务挂起。NOT_SUPPORTED总是不开启事务,如果...
2019-09-22 17:13:44 463
原创 Redis命令之KEYS与SCAN
Redis中有两种用来遍历key的数据的命令,它们分别是KEYS和SCAN。KEYS:KEYS命令的速度虽然非常快,但是因为它是一次将所有满足条件的数据都会找到并返回,所以当redis中的key非常多时对于内存的消耗和redis服务器是一种隐患,Redis2.8版本以上提供了一种更优的遍历 key 的命令就是 SCAN来解决这个问题。SCAN:SCAN命令的基本格式:SCAN...
2019-09-22 17:10:59 386
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人