- 博客(6)
- 收藏
- 关注
原创 jdk1.5的异常实例优化,不打印堆栈信息
今天测试环境遇到一个奇怪的问题,日志中报出的异常仅有异常信息,没有堆栈信息这肯定是有问题的,首先排查是不是log4j使用错了,去代码层看到直接抛得异常,没有打印,全局异常处理器里写的log.error("url{} error{}",url,e)这里看起来也是正常的那也有可能是ssh的工具问题,我把文件拿下来本地查看了下,发现确实是少了堆栈信息,用关键字全局搜索存在过去的相同异常有堆栈信息,看起来像是java自己的骚操作这就很优秀了。google 了一下,找到了答案,毕竟创建新的异常实例是很消.
2020-10-30 15:03:38
266
原创 java的监视器锁synchronized
关于这个synchronized锁,过去是一直避免使用的,说他是重量级锁,锁的性能差,远不如ReentrantLock但是后来看了java并发编程实战,里面提到随着java版本的升级,内置锁synchronized的性能已经得到了很大的提升,而且他作为内置锁,对内存的消耗更小一点(看大佬这么说,其实我也不知道为啥内存更小额,等我看完jvm和java核心技术再回来解释)。用法很简单,可以分三种情况:synchronized加在普通方法上:对对象实例加内置锁synchronize..
2020-10-28 14:21:01
263
原创 mybatis执行的sql,两个limit
之前检查生产日志的时候发现过一个奇怪的现象,数据库报错,sql语句错了,有两个limit这种错误不应该出现在生产日志上,有点惊讶,我都怀疑是不是有成员的代码没有经过测试就发布了但是当我把sql拿下来查找的时候,却发现报错的代码段,sql是正常的,仅有一个limit,拿去数据库跑结果也是符合预期的这让我想到了pagehelper,这个插件的功能是帮助你分页,它会帮你加入limit我回到业务层去找相应的代码,也没找到分页助手相关的代码,但我还是怀疑是它有问题。我翻看它的源码,发现了.
2020-10-25 15:45:11
2678
1
原创 Spring事务注解失效,显式使用代理对象后报空指针异常
最近有同事在开发Spring Boot的时候遇到了注解失效问题,和解决失效问题后出现空指针的问题。首先介绍下问题场景,在业务层类A中对a方法进行拆分,把数据库操作拆到了b方法中,并加上了@Transactional注解,但是实际使用中并没有实现事务,异常不会回滚,也就是说注解失效了。随后在网上查阅了部分资料,他打算显示的获取代理,然后再执行,这时却抛出了空指针异常,这让他相当的困惑。@Service@Slf4jpublic class A { @Autowired p
2020-10-25 15:14:23
937
原创 mysql数据库事务ACID
ACID是数据库的事务四大基本要素:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)的缩写原子性(Atomicity)即是数据库一个事务内的sql语句,要么全部成功,要么全部失败例如老李给胖子转账100元,需求上应该是老李减去100元,胖子加上100元,流水记录是100元,如果老李减去了100元后,事务提...
2019-03-23 16:36:37
130
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人