SpringBoot + Maven 打包部署示例
前言 在现代企业级应用开发中,快速构建、高效部署和易于维护是至关重要的。Spring Boot 以其简洁的配置和强大的自动化功能,极大地简化了这一过程。本文将介绍如何使用 SpringBoot 结合 Maven 进行项目构建和打包。示例最终会构建出目录结构为 lib、conf、bin、logs的zi
Srping Batch 实现批批处理任务
引言 Spring Batch 是一个轻量级的开源框架,它提供了一种简单的方式来处理大量的数据。它基于Spring框架,提供了一套批处理框架,可以处理各种类型的批处理任务,如ETL、数据导入/导出、报表生成等。Spring Batch提供了一些重要的概念,如Job、Step、ItemReader、I
Spring Boot + MDC 实现全链路调用日志跟踪
前言 日志追踪是一种追踪请求在系统中流转过程的技术,可以帮助我们定位问题、分析性能瓶颈以及进行故障排查。但在多线程环境中,若没有相关框架的支持,想要实现日志追踪,就需要编码实现将主线程的日志参数传递给子线程,本文就在线程池场景下借助MDC实现了traceId参数的透传。 MDC介绍 MDC(Mapp
SpringBoot + Log4j2 + TLog 实现日志追踪
前言 随着微服务盛行,很多公司都把系统按照业务边界拆成了很多微服务,在排错查日志的时候。因为业务链路贯穿着很多微服务节点,导致定位某个请求的日志以及上下游业务的日志会变得有些困难。 TLog 轻量级的分布式日志标记追踪神器 提供了一种最简单的方式来解决日志追踪问题,它不收集日志,也不需要另外的存储空
后台程序 报错内容:java.sql.SQLException: Java heap space
问题 使用 MybatisPlus 的游标查询,报错 java.sql.SQLException: Java heap space 原因分析 SQLException 引发 Java heap space 溢出可能是以下原因导致的: 查询没有通过参数,而是直接查询出所有的记录。 是由于 mysql
Sharding-JDBC + MyBatisPlus 实现分库分表
前言 随着业务数据的增加,单个数据库服务器已经难以满足业务需要,必须考虑数据库集群的方式来提升性能。高性能数据库集群的第一种方式是“读写分离”,第二种方式是“数据库分片”。 Sharding-jdbc 作为成熟的分库分表技术框架,在国内应用广泛。本文将介绍基于 Sharding-JDBC + MyB
Linux 打包、压缩和解压命令
概述 归档,也称为打包,指的是一个文件或目录的集合,而这个集合被存储在一个文件中。归档文件没有经过压缩,因此,它占用的空间是其中所有文件和目录的总和。通常,归档总是会和系统(数据)备份联系在一起。 压缩,和归档文件类似,压缩文件也是一个文件和目录的集合,且这个集合也被存储在一个文件中,但它们的不同之
Disruptor 原理及实践
Disruptor 介绍 Disruptor 是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。 Disru
常用Linux命令
1. less info_all.log |grep signImageTask |wc -l 解释 less 查看 info_all.log 文件, grep 搜索匹配其中的 signImageTask 字段 wc - l 统计输出信息的行数
Java 读取文件内容的六种方式
Java 读取文件内容的六种方式 1. Scanner 第一种方式是Scanner,从JDK1.5开始提供的API,特点是可以按行读取、按分割符去读取文件数据,既可以读取String类型,也可以读取Int类型、Long类型等基础数据类型的数据。 @Test void testReadFile1()