自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 ThreadLocalUtils

public class ThreadLocalUtils { private static List<ThreadLocal<?>> list = new ArrayList(); public ThreadLocalUtils() { } public static <T> ThreadLocal<T> newThreadLocal(ThreadLocal<T> threadLocal) {

2020-08-05 22:46:53 898

原创 spring事件使用

定义事件package com.starunion.tracker.event;import lombok.Data;import org.springframework.context.ApplicationEvent;/** * @author klj */@Datapublic class TransferPenaltyEvent extends ApplicationEvent { private String billCode; public Transfer

2020-07-08 22:42:32 424

原创 Innodb 死锁解析

近期查看线上日志,发现sql某个update语句每日278,110次有0.0061%概率发生异常,异常信息如下:com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction进一步分析日志,原因是...

2019-12-18 16:59:31 202

原创 java 集合去重总结

说到集合去重,java8提供了distinct可以实现大部分情况的去重,当然,你如果不嫌麻烦,可以自己写for循环去重。今天我们就来讲讲如何合理使用java8的特性实现去重。1、字符串集合去重字符串去重事最简单的去重,直接使用stream流的distinct就可以实现去重。List<String> list = Arrays.asList("abc","bcd","cda","a...

2019-12-10 14:53:06 727

原创 踩过的坑——MySQL删除索引要慎重

事情经过:原表有两个字段的联合唯一索引unique key,因业务变更这两个字段不再唯一,需要去掉唯一索引。考虑到其中一个字段不仅作为唯一索引,还当作查询索引使用,去掉这个唯一索引,要新加这个字段的普通索引。于是提了ddl数据库变更,删除唯一索引,新增普通索引。事故因此发生,当删除唯一索引后,还没来得及执行新增普通索引,数据库连接池就被占满了,导致页面所有请求都发生异常!表中有500W数据,...

2019-12-10 10:31:44 5485

原创 踩过的坑——MySQL datetime 精度

结论:MySQL存储datetime时候会自动将毫秒四舍五入到秒级。经过:某一段业务逻辑中,拿MQ传过来的时间对比数据库查询的时间截取满足条件时间段数据,结果一部分数据正确,一部分数据错误。存数据库和发MQ虽然顺序执行,但一开始怀疑存数据库是存的主库,消费mq,并查询数据库差的从库对比时间,从库的数据一瞬间没有从主库同步过来。最后询问了dba确认读写都走的是主库。那么问题肯定出在了时间判定上,于...

2019-11-04 17:14:58 2687 1

原创 类初始化加载方法

类初始化加载方法有两种方式1、使用注解@PostConstruct修饰要加载的方法2、类实现InitializingBean接口,并实现其afterPropertiesSet方法

2019-10-31 14:22:16 420

原创 mybatis 一对多级联查询的4种方式

大家都知道mybatis的一对多关联查询collection有两种方式。第一种,嵌套resultMap:<resultMap id="DictionaryResultMap" type="com.xxx.darwin.model.DictionaryQueryModel" > <id column="id" jdbcType="BIGINT" property="id...

2019-08-26 11:30:24 2374 4

原创 解决自定义排序防止sql注入

1、场景 :页面列表需要按照指定列排序,前端向服务端传入排序参数,Sorted对象包含排序字段prop和排序方式order。例如要按照id倒序排序。前端传参{prop:"id",order:"desc"} ,后端接收后生产sql语句: select * from table1 order by id desc 看似没有问题,假如该接口被恶意攻击者知道,传入参数{prop:"id",order:...

2019-06-27 16:15:06 1346

原创 java8特性stream流的使用总结

stream的使用 ,让我们的代码更加简洁,易懂(易维护)。它的使用,减少了大量的if条件语句和for循环语句,从输入到输出,像一条河流一样,让维护者读起来更像是读一篇文章。一个Stream流主要由三部分组成,即数据源、中间操作、终止操作。1、数据源常用的创建流方式a、Stream.of,我们可以通过Stream的静态方法,传入一个泛型数组,或者多个参数,创建一个流。b、Arrays.s...

2019-03-18 19:31:48 954

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除