工具篇
文章平均质量分 63
Pluto372
记录自己的学习笔记,同时方便自己忘了可以容易复习
展开
-
Arthas-快速使用
开发人员可以尝试在测试环境或者预发环境中复现生产环境中的问题。但是,某些问题无法在不同的环境中轻松复现,甚至在重新启动后就消失了,如果您正在考虑在代码中添加一些日志以帮助解决问题,您将必须经历以下阶段:测试、预发,然后生产。这种方法效率低下,更糟糕的是,该问题可能无法解决,因为一旦 JVM 重新启动,它可能无法复现,如上文所述。Arthas 旨在解决这些问题。开发人员可以在线解决生产问题。无需 JVM 重启,无需代码更改。Arthas 作为观察者永远不会暂停正在运行的线程。原创 2024-05-26 13:18:07 · 485 阅读 · 0 评论 -
mybatis 拦截器使用
第一步:编写拦截器,并实现打印sql日志。原创 2023-04-21 20:15:09 · 377 阅读 · 0 评论 -
SpringBoot接口恶意爆刷请求+redis分布式锁
在实际项目使用中,必须要考虑服务的安全性,当服务部署到互联网以后,就要考虑服务被恶意请求和暴力攻击的情况,通过intercept和redis针对url+ip在一定时间内访问的次数来将ip禁用,可以根据自己的需求进行相应的修改,来打打自己的目的;首先工程为springboot框架搭建,不再详细叙述。直接上核心代码。首先创建一个自定义的拦截器类,也是最核心的代码;1、引入依赖2、配置文件yml编写3、拦截器类:代码中redis的使用的是分布式锁的形式,这样可以最大程度保证线程安全和功能的实现效果。代码原创 2022-06-23 17:11:18 · 353 阅读 · 0 评论 -
SpringBoot——统一接口返回值和全局异常处理
统一接口返回值1、定义通用的数据返回对象@Data@Accessors(chain = true)public class GlobalResponse<T> implements Serializable { private Integer code; private String message; private T data; private final String timeStamp = DateUtils.localDateTimeToStri原创 2021-12-02 11:07:03 · 886 阅读 · 0 评论 -
Java 8特性之Optional详解
一、Optional类 简介Optional类是 Java 8 引入的一个很有趣的特性。它主要解决的问题是臭名昭著的空指针异常(NullPointerException)本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。Optional 是一个对象容器,具有以下两个特点:提示用户要注意该对象有可能为null简化if else代码举一个简单的例子,在 Java 8 之前,任何访问对象方法或属性的调用都可能导致 NullPointerException原创 2021-10-12 17:04:51 · 3668 阅读 · 0 评论 -
java使用Map缓存
缓存什么是缓存?平常的开发项目中,多多少少都会使用到缓存,因为一些数据我们没有必要每次查询的时候都去查询到数据库。缓存的使用场景:在Java应用中,对于访问频率高,更新少的数据,通常的方案是将这类数据加入缓存中,相对从数据库中读取,读缓存效率会有很大提升。在集群环境下,常用的分布式缓存有Redis等。但在某些业务场景上,可能不需要去搭建一套复杂的分布式缓存系统,在单机环境下,通常是会希望使用内部的缓存(LocalCache)。使用map缓存方案:基于ConcurrentHashMap实现数原创 2021-10-12 15:18:25 · 7581 阅读 · 4 评论