自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(366)
  • 资源 (1)
  • 收藏
  • 关注

原创 使用Swagger升级版在线文档

在原有配置类Swagger2Config上面加注解。6、此外可以修改配置文件觉得接口文档的开关。4、在controller层添加注解。3、配置了拦截器对相关url放行。3、配置了拦截器对相关url放行。4、注解使用方法一致。

2025-05-09 15:54:49 260

原创 华为云短信接入实现示例

1)构建Springboot项目。

2025-05-06 11:00:19 332

原创 阿里云短信接入实现示例

LinkedHashMap可以保证入参顺序一致,方便后台记录短信发送日志。5) 单例客户端 调用频繁可以使用资源池构建。1)构建Springboot项目。

2025-04-30 17:25:21 306

原创 树状结构转换工具类

树状结构工具类

2025-04-30 17:07:37 345

原创 容器相关命令

使用以下docker run命令即可新建并启动一个容器,该命令是最常用的命令,它有很多选项,下面将列举一些常用的选项。-d选项:表示后台运行-P选项:随机端口映射-p选项:指定端口映射,有以下四种格式。--net选项:指定网络模式,该选项有以下可选参数:--net=bridge:默认选项,表示连接到默认的网桥。--net=host:容器使用宿主机的网络。--net=container:NAME-or-ID:告诉 Docker让新建的容器使用已有容器的网络配置。

2024-07-26 17:17:27 989 1

原创 Docker安装

更新apt-get包列表安装Docker的依赖包添加Docker官方GPG密钥添加Docker的APT源再次更新apt-get包列表安装Docker验证Docker是否安装成功,看到一个“Hello from Docker!”的消息,表示已经安装成功。

2024-07-26 15:22:47 188

原创 使用注解的方式实现数据脱敏

数据脱敏可以分为静态数据脱敏和动态数据脱敏,其中静态数据脱敏一般应用于数据外发场景,例如需要将数据导出发送给开发人员、测试人员等,静态数据脱敏会将变化后的数据进行保存,供数据使用方使用;动态数据脱敏一般应用于直接连接生产数据的场景,例如运维人员直接连接生产数据库进行运维,动态数据脱敏会在数据获取过程中对数据进行变化处理,不会修改原始数据。

2024-05-21 14:55:50 757

原创 使用递归将list转换成tree

【代码】使用递归将list转换成tree。

2024-01-11 14:27:13 821

原创 使用EasyPoi导入数据并返回失败xls

【代码】使用EasyPoi导入数据并返回失败xls。

2024-01-05 16:26:12 967

原创 PDF添加文字或者图片

outPutPdfFilePath输出文件路径。inputPdfFilePath输入文件路径。imagePros图片集合。pdfList文字集合。

2023-11-23 15:19:00 228

原创 PDF转成图片

【代码】PDF转成图片。

2023-11-22 14:35:38 864

原创 一个基于RedisTemplate静态工具类

每次是用RedisTemplate的时候都需要进行自动注入实在是太麻烦了,于是找到一个讨巧的办法。

2023-11-22 09:31:44 601

原创 重启服务器引发的Docker异常

尝试了重新启动docker服务,docker ps还是看不到进程。执行sudo dockerd发现服务已经启动了,无法再次启动。使用dockerd &后台启动,可以安全关闭连接工具了。然后发现找不到容器和镜像列表了,但是容器都启动了。猜想是docker服务启动异常导致查询不到容器列表。公司使用云服务器需要硬盘扩容,服务器重启才生效。重启以后发现拉取远程镜像的命令登录失败了!关闭docker重启启动docker如何。查看docker运行状态都是正常的。

2023-08-11 16:35:37 958

原创 Mysql推荐使用规范

a)null的列使索引/索引统计/值比较都更加复杂,对MySQL来说更难优化b)null 这种类型MySQL内部需要进行特殊处理,增加数据库处理记录的复杂性;同等条件下,表中有较多空字段的时候,数据库的处理性能会降低很多c)null值需要更多的存储空间,无论是表还是索引中每行中的null的列都需要额外的空间来标识d)对null 的处理时候,只能采用is null或is not null,而不能采用=、in、<、<>、!=、not in这些操作符号。如:where name!

2023-08-04 15:11:14 341

原创 Redis基本数据类型常用操作以及使用场景

单值缓存对象缓存分布式锁计数器分布式系统全局序列号。

2023-06-29 10:30:33 332

原创 @JsonRawValue注解的使用

例如,如果我们在Java类中有一个String字段,则将JSON值括在引号(“”内),但是当我们使用@JsonRawValue批注对该字段进行注释时,Jackson库将忽略引号。对于一些不定项的结果,比如可配置的检查项需要保存检查结果的时候,我们如果使用关系型数据库建表来保存对应数据就很麻烦,我们可以把检查结果序列号成json串保存到数据。原因是java中使用String类型存储数据的时候双引号"会自动添加转义符\导致返回数据序列话的时候无法正常序列化。但是查询的时候会变成这样。

2023-05-09 15:52:33 1592

原创 docker容器内使用cat命令修改文件

v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外。-s, --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行。-n, --number 对输出的所有行编号,由1开始对所有输出的行数编号。-A, --show-all 实际结果是在每行最后处增加显示$-b, –number-nonblank 对非空白行输出行编号。-E, --show-ends 在每行最后处增加显示$-T, --show-tabs 将跳格字符显示为 ^I。

2023-05-09 15:25:13 2119

原创 什么是虚拟电厂

总之,虚拟电厂是一种新型的电力系统,它可以通过将分散的、分布式的能源资源进行整合和管理,实现对电力系统的优化和协调。虚拟电厂的出现,不仅可以提高电力系统的可靠性和稳定性,还可以促进清洁能源的发展和利用,为能源转型和可持续发展做出了重要贡献。虚拟电厂是一种新型的电力系统,它通过将分散的、分布式的能源资源进行整合和管理,实现了对电力系统的优化和协调。虚拟电厂的出现,不仅可以提高电力系统的可靠性和稳定性,还可以促进清洁能源的发展和利用,为能源转型和可持续发展做出了重要贡献。二、促进清洁能源的发展和利用。

2023-05-09 15:24:56 1767

原创 将一个单体服务重构成微服务

1. 拆分服务:将单体服务拆分成多个小服务,每个服务只负责一个特定的功能。拆分的原则是将服务按照业务功能进行划分,每个服务都应该是相对独立的。7. 通信协议:为服务之间的通信设计协议,包括RESTful API、消息队列、RPC等。3. 选择技术栈:选择适合每个服务的技术栈,包括编程语言、框架、数据库等。10. 测试管理:为每个服务设计测试方案,包括单元测试、集成测试、端到端测试等。9. 安全管理:为每个服务设计安全管理方案,包括身份认证、授权、加密等。安全管理应该是可靠的,可以保证服务的安全性和可用性。

2023-05-09 15:22:38 1553

原创 Redis中key过期的删除机制是什么

key 设置了过期时间时,Redis 会把该 key 带上过期时间存储到一个中过期字典保存了数据库中所有 key 的过期时间。

2023-04-03 20:14:50 366

原创 使用注解JSON序列化

JSON序列化

2023-02-17 11:14:59 909

原创 method breakpoints may dramatically slow down debugging问题

由于JVM的设计,方法断点会大大降低调试器的运行速度,它们的评估成本很高。删除方法断点并考虑使用常规行断点。、

2023-02-14 10:24:34 830

原创 为用户信息修改添加审核功能

尝试了一种新的方式,用一张表记录更新的字段和值,审核通过以后把修改值更新到记录里面。这样做的优势在于在很多表都需要做更新审核的时候可以直接复用这个功能,不需要为每个更新添加修改逻辑。最近做了一个功能为用户信息修改添加审核功能,审核通过以后修改才会生效。一般的做法是修改的时候添加一条记录,审核通过以后再把修改记录更新到原始的记录中。使用反射记录更新的字段名称和值。通过反射对数据进行更新。

2023-02-07 17:01:33 939

原创 eCharts工具类

ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts最初由百度团队开源,并于2018年初捐赠给Apache基金会,成为ASF孵化级项目。

2023-01-16 11:00:41 452

原创 基于Flink+kafka实时告警

某项目使用告警系统的逻辑是将实时数据保存到本地数据库再使用定时任务做判断,然后产生告警数据。这种方式存在告警的延时实在是太高了。数据从产生到保存,从保存到判断都会存在时间差,按照保存数据定时5分钟一次,定时任务5分钟一次。最高会产生10分钟的误差,这种告警就没什么意义了。

2023-01-16 10:29:01 2179

原创 Map的merge方法

Java 8 最大的特性无异于更多地面向函数,比如引入了 lambda等,可以更好地进行函数式编程。JDK8开始增加了map.merge方法。

2022-08-26 17:36:36 5033

原创 “Map.get“ and value test should be replaced with single method call

在JAVA8的Map接口中,增加了一个computeIfAbsent

2022-08-26 16:21:05 1009

原创 DateUtils最新工具类

String、Date、LocalDate、LocalDateTime互转

2022-08-26 11:21:55 151

原创 使用mybatis批量修改多个字段

统计表批量更新多个字段

2022-08-26 11:05:47 1080

原创 Http请求封装返回对象

封装了一个方法用于http请求,使用类来继承ResDAO来封装json返回对象。如果请求的token过期了,返回状态码是403就可以进行重新获取token再次进去远端接口。 http单例工具类: httpClient工具的单例封装_钦拆大仁的博客-CSDN博客...

2022-06-27 22:31:24 632

原创 httpClient工具的单例封装

httpClient客户端采用单例设计模式,CloseableHttpClient单例。

2022-06-16 17:11:07 634

原创 fastjson-JAVA对象、JSON对象、JSON字符串互转

使用fastjson进行JAVA对象、JSON对象、JSON字符串互转

2022-06-09 13:50:15 300

原创 MybatisPlus报错error: entityList must not be empty

saveBatch方法保存空集合也没出过问题,这个saveOrUpdateBatch方法里面有对集合的判断,集合为空直接报错。解决方法在保存之前加个判断,如果集合为空直接结束。在批量处理数据的方法里面要注意各种极端情况,注意对空集合空数据的判断,以免出现各种错误。......

2022-06-06 09:54:20 3543

原创 唯一ID生成类NanoId

NanoIDh和UUID一样都是是软件开发中最常用的通用标识符之一。<dependency> <groupId>com.aventrix.jnanoid</groupId> <artifactId>jnanoid</artifactId> <version>2.0.0</version></dependency>使用自定义工具类可以做定制化开发import java.se

2022-05-23 16:43:28 3477

原创 数据计算工具类ArithmeticUtils

BigDecimal类的特点总结 在需要精确的小数计算时再使用BigDecimal,BigDecimal的性能比double和float差,在处理庞大,复杂的运算时尤为明显。故一般精度的计算没必要使用BigDecimal。 尽量使用参数类型为String的构造函数。 BigDecimal都是不可变的(immutable)的, 在进行每一次四则运算时,都会产生一个新的对象 ,所以在做加减乘除运算时要记得要保存操作后的值。 工具类用于高精确处理常用的数学运算Arithm

2022-05-19 15:46:34 497 1

原创 @Autowired正确的打开方式

使用@Autowired注解时,发现IDEA报了一个 warning,拥有强迫症的我怎么受得了这个。 Spring Team recommends “Always use constructor based dependency injection in your beans. Always use assertions for mandatory dependencies”.使用alt+enter代码改成这样了这个两种方式有区别吗?@Autowired 可以对成员变量、方法以及构造

2022-05-19 12:12:40 162

原创 SpringBoot 启动时如何自动运行代码

概述目前开发的SpringBoot项目在启动的时候需要做一些数据缓存、加载一些资源。最常见的可以去实现Spring的ApplicationRunner与CommandLineRunner接口去实现启动后运行的功能。查阅资料可以知道可以自动运行代码的方式很多包括:java自身的启动时加载方式static静态代码块,在类加载的时候即自动执行。在对象初始化时执行。执行顺序在static静态代码块之后。Spring启动时加载方式PostConstruct注解使用在方法上,这个方法在对象依

2022-05-16 17:04:27 255

原创 POJO可以使用基本数据类型吗

在《阿里巴巴Java开发手册》中,对于POJO中如何选择变量的类型以及 RPC 接口中的返回值类型也有着一些规定先看一段代码public class BooleanMainTest { public static void main(String[] args) { Demo demo = new Demo(); System.out.println("demo : " + demo); }}@Dataclass Demo { /** * 封装类型 */ p

2022-05-16 16:14:29 412

原创 IDE打断点小技巧

调试代码的时候如果某次循环报错需要调试的时候,循环里面打了断点需要一遍一遍的进入比较麻烦。public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("e"); list.add("f"); list.add("g"); f

2022-05-16 15:14:31 580

原创 for与foreach的区别

同事使用foreach删除元素发生了错误,我建议他使用迭代器删除于是我研究了普通的for循环删除元素的可能性List<String> list = new ArrayList<>();list.add("a");list.add("b");list.add("c");log.info(list.toString());for (int i = 0; i <list.size(); i++) { list.remove("a");}log.info

2022-05-16 11:03:57 233

redis持久化

1.大纲 1、Redis的持久化 2、Redis的主从 3、Redis的集群

2017-05-26

空空如也

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

TA关注的人

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