![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 56
湖城彭于晏
这个作者很懒,什么都没留下…
展开
-
Java 分期缴款,计算每期最低缴款金额(负数则本期最低缴款0万元)、最高可缴纳金额 | 分期数及每期金额自由设置
分期缴款,计算每期最低缴款金额(负数则本期最低缴款0万元)、最高可缴纳金额。原创 2023-03-30 16:52:52 · 226 阅读 · 0 评论 -
Spring boot 集成ip2region.xdb,在jar包中的使用
Spring boot集成ip2region.xdb,并在jar包中的使用。原创 2023-03-01 19:00:00 · 937 阅读 · 0 评论 -
CountDownLatch并发执行线程
CountDownLatch原创 2022-06-19 10:58:19 · 126 阅读 · 0 评论 -
自定义启动器里的类发现无法调用 | 手写stater无法正常引用
使用@Autowired,自动导入demo-spring-boot-starter中定义的业务类失败,其实我们是已经导进去了,也能点进去,但是发现点进去后下不了源码,显示not found自定义启动器里的类发现无法调用解决办法xxx-spring-boot-starter自定义启动器项目中修改pom里面maven 的插件<plugin> <groupId>org.springframework.boot</groupId> <artifactI原创 2022-03-09 11:05:48 · 256 阅读 · 0 评论 -
Java8新特性
Java8新特性接口中默认方法修饰为普通方法在jdk8之前,interface之中可以定义变量和方法,变量必须是public、static、final的,方法必须是public、abstract的,由于这些修饰符都是默认的。接口定义方法:public 抽象方法 需要子类实现接口定义变量:public、static、final在JDK 1.8开始 支持使用static和default 修饰 可以写方法体,不需要子类重写。方法:普通方法 可以有方法体抽象方法 没有方法体需要子类实现 重写。代码原创 2021-08-07 20:42:06 · 278 阅读 · 0 评论 -
Spring Boot + Redis 实现接口幂等性 | 防止表单重复提交
在实际的开发项目中,一个对外暴露的接口往往会面临,瞬间大量的重复的请求提交,如果想过滤掉重复请求造成对业务的伤害,那就需要实现幂等!我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同。按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重复处理。如何保证其幂等性,通常有以下手段:数据库建立唯一性索引,可以保证最终插入数据库的只有一条数据token机制,每次接口请求前先获取一个token,然后再下次请求的时候在请求的header体中加上这个token,后台进行转载 2021-07-29 09:51:31 · 358 阅读 · 0 评论 -
Spring Boot + Token 实现接口幂等性 | 防止表单重复提交
一、概念幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次 比如:订单接口, 不能多次创建订单支付接口, 重复支付同一笔订单只能扣一次钱支付宝回调接口, 可能会多次回调, 必须处理重复回调普通表单提交接口, 因为网络超时等原因多次点击提交, 只能成功一次 等等二、常见解决方案唯一索引 – 防止新增脏数据token机制 – 防止页面重复提交悲观锁 – 获取数据的时候加锁(锁表或锁行)乐观锁 – 基于版本号version实转载 2021-07-27 21:04:26 · 811 阅读 · 0 评论 -
Java读取本地JSON文件及FileReader读取Path路径中文乱码问题
public void test2() { String path = null; StringBuffer sb = new StringBuffer(); try { //获取项目路径中文乱码,原因是URL对空格,特殊字符(%,#,[]等)和中文进行了编码处理。 //使用URLDecoder.decode(str,"UTF-8")解码,但是只能解决一部分,若路径中含有+,也是不能解决的,原因是URL并不是完全用URLEncoder.e...原创 2021-04-29 17:57:58 · 1563 阅读 · 0 评论 -
Calendar日历、Date日期、时间字符串互转
Calendar cal = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str = sdf.format(cal.getTime()); //Calendar转字符串时间格式 System.out.println(str); Date date = sdf.parse("2021-03..原创 2021-03-30 17:00:47 · 2153 阅读 · 0 评论 -
mybatis中使用MySql特有语法ON DUPLICATE KEY UPDATE,并使用联合索引禁止重复插入
mybatis中使用ON DUPLICATE KEY UPDATE注意:ON DUPLICATE KEY UPDATE为Mysql特有语法,这是个坑;语句的作用,当insert已经存在的记录(主键重复、或者联合主键重复)时,执行Update<insert id="insertInfo"> insert into t_cust_ <trim prefix="(" suffix=")" suffixOverrides=",">原创 2020-12-18 12:00:28 · 1274 阅读 · 0 评论 -
使用lamda表达式stream()多字段去重 | 排序
使用lamda表达式去重 list = list.stream().collect(Collectors.collectingAndThen( Collectors.toCollection( () -> new TreeSet<>( Comparator.comparing(原创 2020-12-11 15:32:33 · 1928 阅读 · 0 评论