![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 94
shu616048151
求其上者得其中,得其中者得其下。
展开
-
解决Spring事务和锁冲突失效问题
背景在业务的时候,需要保证一个用户只能钱包表中插入一条数据。在service加入synchronize锁和插入前查找的情况下,但是有一天突然发现在短时间出现出现了多条数据。通过日志发现是短时间有多个相同请求造成,我们猜测是多线程高并发造成的。思考我们明明在插入之前了synchronized锁,但是结果来看可能是锁失效了,期间我们将sychronzied改redis分布式锁也失效。于是查找资料,发现spring事务下出现了synchronized锁失效的文章,由此我了解spring的事务流程。原创 2021-07-24 17:01:04 · 5529 阅读 · 11 评论 -
@EnableWebMvc引发的swagger-ui.html的灾难
1 出现的问题异常信息:org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class java.util.LinkedHashMap2 问题排查原本以为是controller的异常问题,但是发现是swagger-ui.html的页面打不开。通过查询网上资料才发现,@EnableWebMv..原创 2020-11-27 20:18:06 · 3671 阅读 · 0 评论 -
dokcer入门
Dokcer入门文档1 docker介绍Docker有什么用呢?对于运维来说,Docker提供了一种可移植的标准化部署过程,使得规模化、自动化、异构化的部署成为可能甚至是轻松简单的事情;而对于开发者来说,Docker提供了一种开发环境的管理方法,包括映像、构建、共享等功能, 将来肯定会让普通用户使用起三大概念1 镜像(image) 运行的问题。项目代码需要制作dockerfile文件2 容器(container) 起到隔离的作用 3 仓库(repository) 类似于jar的中央仓原创 2020-10-09 18:52:52 · 82 阅读 · 0 评论 -
JAVA继承类初始化顺序
1JAVA的隐藏和覆盖隐藏:若B隐藏了A的变量或方法,那么B不能访问A被隐藏的变量或方法,但将B转换成A后可以访问A被隐藏的变量或者方法。 覆盖:若B覆盖了A的变量或者方法,那么不仅B不能访问A被覆盖的变量或者方法,将B转换成A后同样不能访问A被覆盖的变量或者方法。2JAVA继承隐藏和覆盖规则变量只能隐藏不能被覆盖,这其中包括静态变量和非静态的成员变量 静态方法会表现为...原创 2019-04-21 19:16:55 · 1127 阅读 · 0 评论 -
java线程池解析
1 接口和类的结构2ThreadPoolExecutor的基本参数构造方法 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ...原创 2019-05-31 19:01:42 · 126 阅读 · 0 评论 -
springboot的if else过多解决方案
在实际开发工程中,常常会遇到多个ifelse的判断语句,对于简单的项目,还能够满足需求表。但是对于需求变更频繁的项目,这样会造成代码冗余同时且不易维护,不太建议采用这种方法。下面介绍一种springboot项目的解决方式。1 基本代码1.1service的接口代码public interface OrderService { String handle(OrderDTO or...原创 2019-08-05 12:12:42 · 3121 阅读 · 0 评论