
工作
现在,此刻
这个人很懒,还没有添加简介
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式解决多层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 · 399 阅读 · 0 评论 -
数据表查询慢加索引
场景举例:数据库模糊查询使用like关键字导致查询速度慢如果只有单条件查询,在查询条件上加索引,一张表上不要单独加多个索引,不要在频繁变更的字段上加索引每次构建索引也会消耗性能,不要在区分度低的字段上➕索引比如年龄那样加索引的效果不明显如果有多个查询条件,构建联合索引,如果条件太多,需要对索引进行拆分,尽量每次查询的都走索引,索引不需要覆盖所有的字段...原创 2021-09-03 09:57:05 · 659 阅读 · 1 评论 -
全局异常处理类
/** * @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 · 179 阅读 · 0 评论 -
idea快捷键查看代码修改记录
代码和目录中间边栏处右键,选择Annotate原创 2021-02-03 15:44:08 · 5666 阅读 · 0 评论 -
instanceof 的使用
boolean result1 = obj instanceof Class;boolean result2 = obj instanceof SkuInfo;判断obj对象是否为类SkuInfo原创 2021-02-03 15:39:04 · 120 阅读 · 0 评论 -
Java ConcurrentModificationException异常
使用迭代器删除list中元素报错,使用上面注释掉的代码报错,改成下面iterator自己的解决问题原创 2021-02-01 15:55:18 · 95 阅读 · 0 评论 -
forEach不能用break
又忘了,淦原创 2021-01-20 14:52:04 · 696 阅读 · 0 评论 -
@PcLogin(type = LoginTypeEnum.NOT_NEED_LOGIN) 无法获得创建在项目中的枚举类
@PcLogin(type = LoginTypeEnum.NOT_NEED_LOGIN)不要直接复制在括号中,先放在外面就行了原创 2021-01-16 17:41:56 · 345 阅读 · 0 评论 -
cvc-complex-type.2.3: 元素 ‘beans‘ 必须不含字符 [子级], 因为该类型的内容类型为“仅元素”
在配置文件中存在特殊字符 或者 配置文件的注解使用错误// 错误注释<!--正确注释-->原创 2021-01-16 10:44:22 · 254 阅读 · 0 评论 -
封闭开发中-给自己的懒惰找个借口(自嘲)
滴 打工人原创 2020-12-29 10:07:15 · 172 阅读 · 0 评论 -
几句话 Assert.notNull
判断传进来的参数值是否不为空值,如果为空就抛出异常throw new IllegalArgumentException(msg),代码如果不捕捉处理这个异常,代码不往下执行,不为空代码继续向下执行。原创 2020-11-19 19:01:30 · 863 阅读 · 0 评论 -
sql:查询数据库所有表和表ddl
show tables;show create table tableName;原创 2020-11-19 16:46:40 · 1076 阅读 · 0 评论 -
几句话 Form Data 和 Request PayLoad 区别
Form Data 形式的传参 类似 key1=value1&key2=value2Request PayLoad 则类似后端接收到的String body,传了一个JSON.toJSONString(object)原创 2020-11-17 20:38:03 · 136 阅读 · 0 评论 -
获取一个字符串最后一个 / 后的字段
String str = “https://u.jd.com/t6N9ZNM”;String scene = “d =” + str .substring(str.lastIndexOf("/")+1);//scene : “d = t6N9ZNM”原创 2020-11-13 21:31:26 · 1432 阅读 · 0 评论 -
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 · 1316 阅读 · 0 评论 -
京东电话面试索引相关
讲一下你知道的索引索引有什么优点有什么缺点你一个表一般用几个索引说一下索引优化原创 2020-11-12 15:49:07 · 246 阅读 · 1 评论 -
面试题:一个表一般建多少索引呢
一个表哪怕只做查询操作,索引也不宜过多, 因为所以太多会导致查询选择索引出现开销(当然指定了索引可以最低限度的降低开销).从我自己的实际工作情况来看, 所以得建立要全局考虑,就是不要仅仅只考虑一张表的索引怎么建,而是要考虑你整个模块应用的索引怎么建,一般在一个表上索引不要超过5个!...原创 2020-11-12 15:34:50 · 3640 阅读 · 0 评论 -
敏感词过滤器工具类(直接可用) 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 · 442 阅读 · 0 评论 -
我的第一个双11,2020.11.10日22:49记
坐在工位盯着监控,心情紧张又激动,紧张是怕一会12点我的接口千万不要出问题,激动是盯着后台日志光速刷新又感到非常自豪,希望今天不要出问题,可以让在2点钟回家睡觉原创 2020-11-10 22:54:23 · 107 阅读 · 0 评论 -
JSON.toJSONString(null);
原创 2020-11-09 14:59:19 · 790 阅读 · 0 评论 -
报错: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 · 1717 阅读 · 0 评论 -
一步到位解决本地部署新项目出现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 · 487 阅读 · 2 评论 -
mysql主从同步原理+主从数据库数据不同步问题分析
主从同步:(1) 数据库建立主库和从库,从库是主库的备份(2)主库数据更新,从库数据也要随之更新(3)主库和从库的物理地址不同,可以保证数据备份(4)主库只负责写操作(写入数据库),从库只负责读操作(从数据库读出数据),实现数据库读写分离,提高读取效率(5)很明显,读操作要比写操作多很多,所以一般是一主多从的形式(6)主库开启binlog日志,数据操作会将sql写入binlog传给从库,从库执行操作实现数据同步主从数据库数据不同步问题:(1) 问题:主库数据的更新没有及时更新到从库..原创 2020-11-06 11:08:22 · 683 阅读 · 0 评论 -
Spring Boot 1.5.x升级到2.1.x遇到的坑(转载自一个认识的大神的博客)
点我.转载 2020-11-06 09:59:09 · 299 阅读 · 0 评论 -
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 · 473 阅读 · 0 评论 -
idea常识和常用快捷键
ctrl+alt+L 快速整理散乱的格式ctrl+鼠标左键点击类/方法/接口/包… 查看具体信息,也可用来查看源码ctrl+alt+← 返回上一次操作的地方ctrl+F 当前页查找ctrl+shift+R 全局查找/替换左边栏定位标,定位当前页在项目目录的位置收起所有打开的目录log查看...原创 2020-11-05 20:59:07 · 710 阅读 · 0 评论 -
定时任务 0 0 0/1 * *
0 0 0 对应 时 分 秒 ,0 0 0/1 * * 代表定时任务一个小时执行一次原创 2020-11-05 20:37:07 · 13340 阅读 · 0 评论 -
java.lang.ClassCastException 强制类型转换错误
强制类型转换错误 找代码中的强转,一般是强转失败原创 2020-11-05 20:29:36 · 271 阅读 · 0 评论 -
工作中遇到的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 · 153 阅读 · 0 评论 -
几句话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 · 2436 阅读 · 0 评论 -
使用idea的maven快速打jar包
点击idea底边栏Terminal框输入maven 命令,先clean一下,再构建项目目录下target文件下出现对应jar包原创 2020-11-04 09:58:41 · 272 阅读 · 1 评论 -
大并发量应对方案——应用降级开关
背景:双11在即,手头的优惠券接口压测结果不理想,开发了一个降级开关,可以在双11接口压力大时配置关闭一部分用户的领券中心,降低接口压力,与扩容配合作为保障详情:配置中心(存放系统中一些可配置参数)配置两个参数,useCoupon和useCouponPercentuseCoupon:是否使用全量优惠券,true:使用,代表不降级false:不使用,代表降级,此时下面的useCouponPercent生效useCouponPercent:0-100,代表屏蔽的用户百分比 /**原创 2020-10-31 20:42:38 · 288 阅读 · 0 评论 -
StringUtils.isNotBlank()和StringUtils.isNotEmpty()和null之间的区别
1.StringUtils.isNotBlank(Object) 判断对象是否为空,包括为null,size=0,空格2.StringUtils.isNotEmpty(Object)判断对象是否为空,包括为null,size=03.Object==null 判断对象是否为null原创 2020-10-31 20:11:03 · 1984 阅读 · 0 评论 -
调用推荐算法接口时遇到的问题及分析
问题描述:优惠券中心改版上线后,业务反馈,推荐的优惠券列表会出现重复的券,接口是分页查询,正常不应该出现重复数据分析结论:在领券中心其他逻辑的执行中,将部分缓存的顺序改变,优惠券推荐逻辑按照页数分页推荐的时候,某几次操作的数据可能会有部分优惠券重复,这一部分优惠券经过推荐算法使推荐页可能有一部分重复的券...原创 2020-10-31 20:04:50 · 389 阅读 · 0 评论 -
报空指针异常—开发中常见的坑
list.size 前需要判断list是否为null,为空报空指针类型转换时,提前判断要转换的对象是否可能为null比如: String str = JSON.toJSONString(result) ; result为空,空指针调别人接口时一定要判断是否又可能返回null调外部接口时,一定要加try/catch,不然别人接口挂了,你的接口获取不到数据也可能 空指针异常...原创 2020-10-31 18:17:44 · 1217 阅读 · 0 评论 -
Java面试题总结(1-111)
面向对象编程(OOP)Java是一个支持并发、基于类和面向对象的计算机编程语言。下面列出了面向对象软件开发的优点:代码开发模块化,更易维护和修改。代码复用。增强代码的可靠性和灵活性。增加代码的可理解性。面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象。下面的章节我们会逐个分析这些特性。封装封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的原创 2020-10-23 15:26:30 · 1480 阅读 · 0 评论 -
elasticsearch学习 (四) ES客户端工具Kibana安装
下载路径:https://www.elastic.co/downloads/past-releases/kibana-5-2-0我使用windows zip版本,下载后直接解压,建议与es放在同一文件目录下启动:先启动es.bat,启动成功后再启动kibana.bat,否则会提示没有可用的连接启动kibana.bat后,浏览器启动http://127.0.0.1:5601/,出现如下则表示启动成功...原创 2020-10-22 18:00:42 · 797 阅读 · 0 评论 -
面试题:es6版本和es5版本的区别
es5版本一个索引可以创建多个类型,像数据库一样es6版本规定一个索引只能创建一个类型,因为不同于数据库里不同表就算字段相同也不会冲突,一个索引里不同类型有相同字段会互相影响原创 2020-10-22 17:38:42 · 588 阅读 · 0 评论 -
elasticsearch学习 (三) 基本概念
接近实时(NRT):效率高索引(index):ES中必须全部是小写字母类型(type):类似数据库中的一个表,比如商品类型,员工类型映射(mapping):限定类型中的字段,相当于数据库表的约束(有哪些字段、字段类型、字段长度)类型和映射一般是一起创建的文档(document):一个文档代表一条记录,使用JSON格式表示ES就类似数据库,先创建索引,在索引中创建类型和映射,将文档放入ES的类型中,我们根据索引把它搜索出来...原创 2020-10-22 17:24:40 · 113 阅读 · 0 评论 -
一个20届双非学渣的拉跨之路
2020年10月22日,坐在工位上写下这篇文章,参加工作的第一年真学渣,家里算是中产阶级,在某二线城市算是有头有脸,胸无大志,梦想是过上悠然见南山的田园生活,高三太压抑,上大学放飞自我,大一C语言挂科,大二高数61分,大三EDA挂科,大四考研拉跨299分大四上,电脑上idea都没有,MYSQL装不下来,Java基本不会,找实习被狠狠羞辱7000块钱买了网课,达内,只看完了后端,前端一点都没看,看不下去,老想玩手机,大四下,我要考研,高数太难了,299分,拉跨考研拉跨后害怕找不到工作开始发奋努力,原创 2020-10-22 15:59:59 · 847 阅读 · 0 评论