- 博客(92)
- 资源 (3)
- 收藏
- 关注
原创 设计模式解决多层if else代码冗余问题 - 直接上代码对比
@Resource AbcServiceImpl abcServiceImpl; private Map<Integer,Function<Long,Integer>> actionMappings = new HashMap(); @PostConstruct public void init(){ //这里type应加枚举,此处举例没有用 1 2 3 actionMappings.put(1,abcSer...
2022-01-21 09:24:50
376
原创 数据表查询慢加索引
场景举例:数据库模糊查询使用like关键字导致查询速度慢如果只有单条件查询,在查询条件上加索引,一张表上不要单独加多个索引,不要在频繁变更的字段上加索引每次构建索引也会消耗性能,不要在区分度低的字段上➕索引比如年龄那样加索引的效果不明显如果有多个查询条件,构建联合索引,如果条件太多,需要对索引进行拆分,尽量每次查询的都走索引,索引不需要覆盖所有的字段...
2021-09-03 09:57:05
634
1
原创 ValidationUtils 参数校验工具类
/** * @ClassName ValidationUtils * @Description 参数校验工具类 * @Author * @Date * @Version 1.0 */public class ValidationUtils { /** * 使用hibernate的注解来进行验证 */ private static Validator validator = Validation .byProvider(Hibern
2021-04-21 11:02:21
748
原创 全局异常处理类
/** * @Description 全局异常处理类 * @Author liu * @Date 2020/02/03 16:00 * @Version 2.0 */@Slf4j@RestControllerAdvicepublic class TestGlobalExceptionHandler { /** * 普通无定义统一异常 * @param e * @return */ @ExceptionHandler(Exception
2021-02-03 16:44:45
165
原创 instanceof 的使用
boolean result1 = obj instanceof Class;boolean result2 = obj instanceof SkuInfo;判断obj对象是否为类SkuInfo
2021-02-03 15:39:04
110
原创 @Pattern 加在实体类上用于参数校验
/** * 卖家id 校验商户号是否为数字格式 */ @Pattern(regexp = "^[0-9]+$", message = "商户号不符合规则要求") private Long venderId; /** * spu名称 校验商品名称字符串长度 */ @Length(min = 0,max = 20) private String spuName; /** * spuId 校验商品编码是...
2021-02-03 15:16:34
498
原创 Java ConcurrentModificationException异常
使用迭代器删除list中元素报错,使用上面注释掉的代码报错,改成下面iterator自己的解决问题
2021-02-01 15:55:18
82
原创 一本好书推荐 :MySQL 是怎样运行的:从根儿上理解 MySQL
https://juejin.cn/book/6844733769996304392
2021-01-26 10:23:50
1411
原创 String.valueOf() 和 toString() 的区别
String.valueOf(null) ok(null). toString() 报错
2021-01-20 13:50:55
298
原创 @builder注解简化频繁使用get、set方法
@Data@Builderpublic class BrandDto implements Serializable { /** * 品牌id */ @NotNull(message = "品牌id为空") private Long brandId; /** * 经营类目 */ private List<B2bCategoryVo> categoryList;}BrandDto brandDto = n
2021-01-19 16:35:22
1257
原创 @PcLogin(type = LoginTypeEnum.NOT_NEED_LOGIN) 无法获得创建在项目中的枚举类
@PcLogin(type = LoginTypeEnum.NOT_NEED_LOGIN)不要直接复制在括号中,先放在外面就行了
2021-01-16 17:41:56
323
原创 cvc-complex-type.2.3: 元素 ‘beans‘ 必须不含字符 [子级], 因为该类型的内容类型为“仅元素”
在配置文件中存在特殊字符 或者 配置文件的注解使用错误// 错误注释<!--正确注释-->
2021-01-16 10:44:22
245
原创 几句话 Assert.notNull
判断传进来的参数值是否不为空值,如果为空就抛出异常throw new IllegalArgumentException(msg),代码如果不捕捉处理这个异常,代码不往下执行,不为空代码继续向下执行。
2020-11-19 19:01:30
847
原创 几句话 Form Data 和 Request PayLoad 区别
Form Data 形式的传参 类似 key1=value1&key2=value2Request PayLoad 则类似后端接收到的String body,传了一个JSON.toJSONString(object)
2020-11-17 20:38:03
112
原创 获取一个字符串最后一个 / 后的字段
String str = “https://u.jd.com/t6N9ZNM”;String scene = “d =” + str .substring(str.lastIndexOf("/")+1);//scene : “d = t6N9ZNM”
2020-11-13 21:31:26
1412
原创 list返回值出现多个{“$ref“:“$[0]“}
接口取一个包含四条商品信息的老板娘list时,发现返回了四条一样的数据,查日志,发现结果为[{“a”:“aa”},{"ref":"ref":"ref":"[0]"},{"ref":"ref":"ref":"[0]"},{"ref":"ref":"ref":"[0]"}] 格式最后发现是因为在循环获得list时,商品信息的对象创建在循环之外,导致对象被重复使用,在JSON.toJSONString后变成了如上格式解决:对象创建放在循环内,放置重复调用,问题解决...
2020-11-13 21:26:33
1285
原创 面试题:一个表一般建多少索引呢
一个表哪怕只做查询操作,索引也不宜过多, 因为所以太多会导致查询选择索引出现开销(当然指定了索引可以最低限度的降低开销).从我自己的实际工作情况来看, 所以得建立要全局考虑,就是不要仅仅只考虑一张表的索引怎么建,而是要考虑你整个模块应用的索引怎么建,一般在一个表上索引不要超过5个!...
2020-11-12 15:34:50
3603
原创 敏感词过滤器工具类(直接可用) DFA有穷状态机算法的实现
package com.jd.yys.comm.service.impl;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.InitializingBean;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Serv
2020-11-11 15:24:31
431
原创 我的第一个双11,2020.11.10日22:49记
坐在工位盯着监控,心情紧张又激动,紧张是怕一会12点我的接口千万不要出问题,激动是盯着后台日志光速刷新又感到非常自豪,希望今天不要出问题,可以让在2点钟回家睡觉
2020-11-10 22:54:23
98
原创 报错:com.alibaba.fastjson.JSON.parseObject(Ljava/lang/String;Ljava/lang/reflect/Type;
JSON.PasrseObject报错估计是用了List list = JSON.parseObject(obj,List.class);改成下面这样就好了List list = JSON.parseArray(obj,Oblect.class);
2020-11-09 10:08:30
1689
原创 一步到位解决本地部署新项目出现pom报错/jar包冲突
查看所有的pom文件,若有报错,将报错的dependncy整个Ctrl+X剪切,此时会出现reimport蓝色小循环标,点击,idea下边栏开始加载,等加载完毕后报错消失,此时再Ctrl+V将depenency粘贴到原位置,再次点击出现的reimport标,再次加载,加载完成后报错消失。所有pom文件都不会报错,但右边栏maven标红的情况下,可以有两种办法(1) 打开maven右边栏,先对整个项目clean+install,再对每一个标红模块clean+install(2) (1)不管用时,可以查.
2020-11-06 20:13:19
470
2
原创 mysql主从同步原理+主从数据库数据不同步问题分析
主从同步:(1) 数据库建立主库和从库,从库是主库的备份(2)主库数据更新,从库数据也要随之更新(3)主库和从库的物理地址不同,可以保证数据备份(4)主库只负责写操作(写入数据库),从库只负责读操作(从数据库读出数据),实现数据库读写分离,提高读取效率(5)很明显,读操作要比写操作多很多,所以一般是一主多从的形式(6)主库开启binlog日志,数据操作会将sql写入binlog传给从库,从库执行操作实现数据同步主从数据库数据不同步问题:(1) 问题:主库数据的更新没有及时更新到从库..
2020-11-06 11:08:22
640
原创 AES加密算法:工具类源码(直接可用)
一、工具类import org.apache.commons.codec.binary.Hex;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.spec.SecretKeySpec;import java.io.UnsupportedEncodingException;import java.security.GeneralSecurityException;public class
2020-11-06 09:41:25
445
原创 postman请求接口,接口返回一个css的登录界面,怎么办
两种办法headers里加上登录的cookies,cookies在网页的开发者模式里找在代码里修改拦截器允许接口访问
2020-11-06 09:05:48
2586
原创 idea常识和常用快捷键
ctrl+alt+L 快速整理散乱的格式ctrl+鼠标左键点击类/方法/接口/包… 查看具体信息,也可用来查看源码ctrl+alt+← 返回上一次操作的地方ctrl+F 当前页查找ctrl+shift+R 全局查找/替换左边栏定位标,定位当前页在项目目录的位置收起所有打开的目录log查看...
2020-11-05 20:59:07
692
原创 获得map中所有的key/value
List keyList = map.keySet();List entryList = map.entrySet();
2020-11-05 20:27:25
1523
原创 工作中遇到的HTTP状态码(随时更新)
200 ok 请求成功,返回成功结果301 Moved Permanently 重定向 请求资源已经不存在,需要去新地方寻找400 Bad Request 报文语法错误,一般是传参错误404 Not Found 找不到资源,一般是请求路径错误408 Request Timeout 请求超时 服务器等候请求时发生超时415 Unsupported Media Type 不支持的媒体类型 请求的格式不受请求页面的支持500 Internal Server Error 服务端错.
2020-11-04 11:08:10
140
原创 可重入锁(synchronized vs lock)vs不可重入锁
珠玉在前可重入锁和不可重入锁: https://www.cnblogs.com/dj3839/p/6580765.html.synchronized 和Lock: https://blog.youkuaiyun.com/hefenglian/article/details/82383569.
2020-11-04 10:48:42
161
原创 几句话stream流实现多线程
正常skuList.stream.forEach(item -> skuInfo.setId(item.getId));多线程skuList.parallelStream().forEach(item -> skuInfo.setId(item.getId));注意:parallelStream有线程安全问题,在使用时需要做安全处理可以使用synchronized或者lock实现线程安全...
2020-11-04 10:24:03
2411
学术报告模板.rar
2020-05-27
SsmShop.zip
2020-05-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人