摘要:Windows安装arthas 下载地址:https://arthas.aliyun.com/doc/download.html Linux 安装arthas 如果是用的是 Linux,安装arthas ,如下: https://arthas.aliyun.com/doc/install-detai
阅读全文
摘要:hutool 工具类 hutool 依赖 引入 hutool 依赖包。 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.6</version> </dependenc
阅读全文
摘要:接口设计 接口要注意拓展性,设计得灵活一些,应对业务的变化。 字段尽量不要耦合在一起。 接口尽量通用。能调用一次完成的,不用调用两次。网络IO是很慢的。 接口的字段,尽量少一些,字段越多,越混乱,越难联调。 能批量处理,尽量批量处理。 如果不存在依赖关系,能异步处理,尽量异步处理。 状态变量,尽量不
阅读全文
摘要:Stream的sorted() java8中,可以用Stream流的sorted()进行排序。 示例Bean 以下我们会使用这个Bean来做示例。 public class Order { private String weight; private Double price; private St
阅读全文
摘要:工厂模式 开发中,有时会需要根据不同的类型,创建同一接口的对应的不同实现类,再去执行方法。 工厂模式的理解,详情见: https://www.cnblogs.com/expiator/p/8245143.html 示例 以下会举一个例子,不同的反馈类型 type,创建不同的审批处理器对象,进行审批。
阅读全文
摘要:导入 导入在系统中属于比较常见的功能。 新增数据时,每次只新增一条数据,会比较慢。 可以通过导入excel文件,进行批量导入。 导入的主要流程 (1)用户点击下载excel导入模板 (2)用户填写模板数据后,点击上传文件,选中文件进行上传 (3)解析导入文件 (4)校验字段,并给出提示 数据全部校验
阅读全文
摘要:打印对象: 可以将对象、list等转换为 json字符串,再进行打印。 log.info("info value:{}", JSON.toJSONString(obj)); 打印debug日志: 开启debug级别时,才打印debug日志。 if (log.isDebugEnabled()) { l
阅读全文
摘要:接口报错401 Unauthorized 401 Unauthorized This server could not verify that you are authorized to access the document you requested. 错误原因 状态码 401 Unauthor
阅读全文
摘要:重试 重试,就是多试几次。一次不成功,多试几次说不定就成功了。 什么时候重试? 要执行的逻辑比较重要,或者是服务不稳定,或者是Rpc远程调服务有时不成功,都可以使用重试。 示例代码 public class RetryTest { private static final Logger log =
阅读全文
摘要:接口报错504 gateway timeout 504 gateway timeout,就是接口超时了。 比如 nginx配置超时时间过短,前端设置了time out,或者是接口响应时间过长。 nginx配置 504 gateway timeout,有可能是nginx代理时,配置的超时时间过短。 h
阅读全文
摘要:## 项目是否启动成功 如果是 SpringBoot 项目,日志搜索 关键字 JVM running SpringBoot 项目,运行成功,会显示类似: ``` Started Application in 2.184 seconds (JVM running for 3.412) ``` 如果是其
阅读全文
摘要:位运算 位运算是在二进制中的运算方式,所有其他进制的数在进行位运算时,都要先转化成二进制数再进行运算。 位运算主要包括按位与(&)、按位或(|)、按位异或(^)、取反( ~ ). &运算(与运算) &运算(与运算):两个二进制操作数对应位同为1 结果位 才为1,其余情况为0; &运算(与运算)中1&
阅读全文
摘要:Integer.parseInt 常见的错误,如以下这种代码: String str = obj.getVar(); //obj.getVar()的结果为 null,以下代码会报错 int age = Integer.parseInt(str); Integer.parseInt(null) 会报错
阅读全文
摘要:LocalDate转Date /** * * LocalDate转Date * @param localDate * @return */ public static Date toDate(LocalDate localDate) { return Date.from(localDate.atSt
阅读全文
摘要:default 当一个接口要添加一些新的公共逻辑,写了一个新的方法,那么所有的实现类都需要重写新方法,如果实现类太多,会非常麻烦。 这时可以使用 default。 接口中的default方法,可以写方法内容。 接口中的default方法不强制实现类重写,不会影响到已有的实现类。 接口的实现类,可以调
阅读全文
摘要:使用场景 便用mybatis,可以用 pagehelper 分页 。 maven依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.6</v
阅读全文
摘要:### java常用的工具类/第三方类库 在开发的过程中,有些代码直接用原生的语法写起来比较麻烦。 多掌握一些java常用的工具类、java常用的第三方类库,可以让我们提高效率,代码变得简洁优雅。 ### 一、apache commons-lang apache出品,java开发者经常会用到的工具类
阅读全文
摘要:限流算法 https://blog.csdn.net/sinat_32502451/article/details/139223748 注意: RateLimiter限流属于单体版的限流,如果是高并发的分布式系统,需要用分布式限流。 Maven依赖包: <dependency> <groupId>c
阅读全文