Java
文章平均质量分 66
明帝573
一步一脚印
展开
-
Spring的@Retryable注解使用
1、## 介绍日常开发中经常需要调用第三方接口,有些接口需要在特定异常下进行重试,为了避免一直在调用接口,每次调用直接需要间隔一段时间,并且需要设置个上限,达到最大重试次数后抛出异常;对该异常进行一致性处理,按一致性补偿处理或者记录异常并推送提醒。常用的做法是写个循环,不断调用接口,并设置睡眠时间;手动写重试方法需要考虑的异常问题较多,这里介绍个spring自带的retry,使用简单,即插即用。@Retryable也是通过AOP方式实现,因此重试的方法不能在同一类中调用。2、## Retryable使原创 2021-01-05 19:27:40 · 1284 阅读 · 0 评论 -
synchronized锁字符串存在的问题以及intern常量池基础问题
一、问题阐述在日常项目中可能存在需要防止用户数据并发操作的问题,需要对代码块加锁保护。例如:用户输入存数据库,重复数据不存DB;用户操作缓存数据等,这里想尽可能把锁的对象放小,因此通常都是锁用户而不是锁整个对象;然而在用synchronized(userId)的时候可能会存在一些问题。二、synchronized 锁字符串的问题使用synchronized 锁字符串存在的问题,下面示例锁一个...原创 2020-04-01 11:46:19 · 2554 阅读 · 2 评论 -
spring boot添加外置配置文件路径
spring boot tomcat部署配置文件外置,网上很多通过读取配置指定路径的配置文件方式。这里记录下,启动类添加指定配置文件路径的方式。war方式,在application启动类中添加自定义配置文件路径。@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder applicat...原创 2019-11-24 12:30:42 · 335 阅读 · 0 评论 -
Spring Boot2.X集成JSP,静态资源访问问题
记录下自己在Spring Boot2.X集成JSP过程中遇到的问题。先用IDEA工具,新建个spring boot项目因为要使用jsp所以要添加web模块项目创建完成后,在项目的modules中添加web,并添加webpp路径。然后在webapp中添加jsp相关文件和静态资源,并在application.properties中添加文件路径和jsp后缀。```java###配置前...原创 2019-11-17 19:11:37 · 789 阅读 · 0 评论 -
Java基本方法——String数组转List,删除List1中与List2中相同的元素
Java开发中常用String数组和List之间的相互转化,来实现某些需求。List也是基于数组来实现的,因此数组和List之间是可以相互转化的。下面列出String和List之间的转换方法和删除两个List中相同元素的方法。1、Stirng[]转List,Arrays.asList方法。String[] values = {“1”,”2”,”3”,”4”}; List list = Arrays原创 2017-07-07 17:02:30 · 597 阅读 · 0 评论 -
什么是ThreadLocal,如何实现线程安全!CAS和原子操作如何实现线程安全!
ThreadLocal线程安全可分为两个部分:一是,各线程的数据安全,二是,ThreadLocal线程中数据操作的线程安全。关于什么是ThreadLocal,可网上搜索资料,原子操作类网上也有很多资料,以下为整理及总结。1、ThreadLocal是什么 ThreadLocal可以保存”key : value”键值对,类似HashMap,但是一个ThreadLocal只能保存一个,并且各个原创 2018-01-29 16:00:06 · 1265 阅读 · 0 评论 -
记一次复用数据库连接池填坑嵌套和关联查询sql语句
复用数据库连接池填平嵌套和关联查询sql语句原创 2018-10-10 14:17:54 · 278 阅读 · 0 评论