- 博客(8)
- 收藏
- 关注
转载 一次springboot 中使用redis分布式锁引发的问题 防止重复创建订单
前言:在系统中,有些接口如果重复提交,可能会造成脏数据或者其他的严重的问题,所以我们一般会对与数据库有交互的接口进行重复处理。我们首先会想到在前端做一层控制。当前端触发操作时,或弹出确认界面,或disable入口并倒计时等等,但是这并不能彻底限制,因此我们这里使用Redis来对某些操作加锁场景:场景一:在网络延迟的情况下让用户有时间点击多次submit按钮导致表单重复提交场景二:表单...
2019-08-20 14:42:35 1010
原创 excel读写工具类
package com.ctg.util;import org.apache.log4j.Logger;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.openxml4j.exceptions.InvalidFormatException;import org.apache.poi.ss.use...
2019-04-18 11:54:17 282
翻译 @Deprecated注解
1 简介Deprecated 同 SuppressWarnings 一样,都是 J2SE 5.0 中定义在Java.lang包中的标准 Annotation 之一,其可以标注在类、字段和方法上,其作用为:不鼓励程序员使用被 @Deprecated 注释的程序元素,因为被 @Deprecated 注释的元素很危险(例如,现阶段 JDK 提供的带有 @Deprecated 注释的元素在以后的 JDK...
2019-04-18 11:51:34 2989
转载 LEFT JOIN关联表中ON,WHERE后面跟条件的区别
写SQL时本想通过 A left B join on and 后面的条件来使查出的两条记录变成一条,奈何发现还是有两条。后来发现 join on and 不会过滤结果记录条数,只会根据and后的条件是否显示 B表的记录,A表的记录一定会显示。不管and 后面的是A.id=1还是B.id=1,都显示出A表中所有的记录,并关联显示B中对应A表中id为1的记录或者B表中id为1的记录。运行sql ...
2019-04-18 11:45:03 454
翻译 exists和in的区别及使用场景
exists和in的使用方式:1#对B查询涉及id,使用索引,故B表效率高,可用大表 -->外小内大1select * from A where exists (select * from B where A.id=B.id);1#对A查询涉及id,使用索引,故A表效率高,可用大表 -->外大内小1select * from A where A.id in (selec...
2019-04-18 11:41:06 3113
原创 同步锁synchronized
package api.day08;public class SynchronizedDemo02 {public static void main(String[] args) { final Shop shop=new Shop(); Thread t1=new Thread(){ public void run() { shop.buy(); }; }; Threa...
2019-03-07 21:39:50 78
原创 线程的join用法
package api.day08;public class ThreadJoinDemo {/** * @param args */public static boolean iffinsh = false;public static void main(String[] args) { // TODO Auto-generated method stub final Thre...
2019-03-07 21:36:18 202
翻译 java 字符串转换日期
package cn.com.waegg.tmp;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DateTest {public static void main(String...
2019-02-28 09:36:10 1630
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人