自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 问答 (1)
  • 收藏
  • 关注

原创 Linux服务器设置免密登录

本文介绍了在Linux服务器上设置免密登录的步骤:1)使用ssh-keygen生成RSA密钥对;2)Windows系统通过scp获取公钥并配置config文件;3)Linux/Mac系统将公钥加入authorized_keys并修改权限;4)修改sshd_config启用密钥认证;5)测试免密登录。文章对比了不同加密算法的特点,推荐使用RSA算法确保兼容性,并强调私钥安全保管的重要性。设置完成后可实现便捷的SSH免密登录。

2025-10-24 20:05:14 375

原创 网工必会技能:核心-接入两层架构

摘要: 网络工程师需掌握核心-接入两层架构的配置。核心层使用三层交换机,承担网关、路由和DHCP功能;接入层使用二层交换机进行端口扩展。关键配置包括: 三层交换机创建VLAN、配置DHCP服务,并设置Trunk口允许指定VLAN流量。 二层交换机创建相同VLAN,配置Trunk口与核心层连接,并将用户端口划入对应VLAN。 注意事项: 核心层与接入层间必须使用Trunk模式,并保持VLAN ID一致。 避免使用百兆口作为上行端口,推荐千兆/万兆口。 三层交换机应专注于流量转发,不建议接入终端设备。

2025-10-14 17:07:24 519

原创 Linux Shell脚本切换至root用户执行操作(硬编码)

本文介绍了一个使用expect工具自动执行root权限操作的Shell脚本模板。通过安装expect工具(sudo apt install expect -y),可以编写脚本自动完成密码输入、命令执行等交互操作。脚本示例展示了如何切换到root用户,进入根目录并执行文件拷贝操作。文中特别强调:每个命令后要跟expect "#"等待提示符,命令必须以\r结尾表示回车,且业务代码应写在指定位置。该方案适用于局域网环境,但需注意安全性问题。

2025-09-29 01:24:31 305

原创 Jenkins发布spring项目踩坑——nohup java -jar发布后显示成功,但实际jps查询并未运行

Jenkins部署SpringBoot应用时,直接使用nohup java -jar可能导致进程被误杀。解决方法是:1) 设置BUILD_ID为任意值,防止Jenkins识别为衍生进程;2) 采用ps+grep精准查找并终止旧进程;3) 将日志输出到指定文件。部署流程包括:创建目标目录→拷贝新jar包→安全停止旧服务→设置BUILD_ID后启动新进程。注意Jenkins仅负责执行命令,不保证后台进程是否真正运行成功。

2025-08-22 18:34:13 2370

原创 SpringBoot项目使用FastJson2时接收序列化的数据

本文介绍了如何在Spring应用中配置FastJson2替代默认的Jackson进行JSON序列化/反序列化。首先需在pom.xml中添加FastJson2相关依赖,然后通过配置类JsonConf实现WebMvcConfigurer接口,配置FastJsonHttpMessageConverter并设置日期格式、字符集等参数。示例展示了User实体类配合FastJson2的注解使用效果,包括字段别名映射、类型标记等特性,以及前后端数据交互时的自动转换过程。配置完成后,Spring应用即可使用FastJson

2025-08-22 09:43:43 462

原创 Fastjson 2.x踩坑——序列化Java字段为null值默认输出

摘要:文章探讨了使用FastJSON进行序列化时处理数字型null值的方法。作者发现直接在类上使用@JSONType注解配置WriteNullNumberAsZero等特性无效,而需要在JSON.toJSONString()方法中显式指定WriteNulls、WriteMapNullValue和WriteNullNumberAsZero特性才能实现预期效果 - 将null数字字段序列化为0。示例展示了正确的实现方式,确保序列化后的JSON数据保持整齐统一。

2025-08-20 13:08:49 389

原创 Spring Batch的2种STEP定义方式

Spring Batch提供了两种STEP定义方式:1)Chunk-Oriented Processing适合大数据量批处理,通过分块读写实现高效处理,需实现Reader/Processor/Writer接口;2)Tasklet形式适合简单原子任务,只需实现execute()方法,支持单事务控制。前者适用于ETL等数据流水线,后者适用于初始化、清理等非数据任务。开发者可根据事务需求、数据量和处理复杂度灵活选择,其中Chunk方式通过chunkSize控制批处理量,Tasklet则通过RepeatStatus

2025-08-03 21:09:23 384

原创 spring batch处理数据模板(Reader-Processor-Writer模式)

本文介绍了Spring Batch中步骤监听器的实现与应用。通过StepExecutionListener接口实现步骤生命周期的监听,在beforeStep和afterStep方法中获取StepExecution对象。在ItemReader、ItemProcessor和ItemWriter组件中,通过注入StepListener来访问StepExecution及ExecutionContext,实现步骤间数据共享。文章展示了如何定义包含读写处理的完整步骤(Step)和作业(Job),并演示了在批处理过程中利

2025-08-03 19:13:07 337

原创 Spring Batch参数校验失败问题分析:JobParametersValidator校验了两次JobParametersIncrementer的参数

本文分析了Spring Boot批处理任务执行机制。系统在启动时会自动执行容器中的Job,除非配置spring.batch.job.enabled=false。通过调试发现JobParametersValidator会两次检查JobParametersIncrementer中的参数,而添加禁用配置后,验证器仅会校验JobLauncher.run方法传入的参数。这解释了批处理任务参数的验证流程及自动执行行为。

2025-07-31 17:50:17 287

原创 日志打印工具类

本文介绍了一个简单实用的日志工具类PrintTool,用于增强业务日志的可读性。该工具类提供了两个配置项:TOTAL_LENGTH控制总输出长度,PAD_CHAR设置填充字符。核心方法doLayout()会自动计算填充长度,将输入内容居中显示并添加两侧填充字符,使关键业务日志在控制台中更加醒目。通过调用示例可以看到,输出的日志信息被清晰包裹在填充字符中,便于开发者在排查业务问题时快速定位关键日志内容。

2025-07-31 11:49:49 199

原创 自定义Linux登录前的欢迎信息

本文总结了PostgreSQL中针对数据库对象(库、模式、表、序列、函数、存储过程)的权限管理语法。核心内容包括:1)授权/撤权基础语法结构(GRANT/REVOKE);2)不同对象的关键权限类型,如表的选择/插入/更新权限、模式的创建/使用权限、函数的执行权限等;3)批量授权方式(ALL IN SCHEMA)。特别说明了各类对象的特有权限,如序列的USAGE、函数的EXECUTE等,并区分了表级TRUNCATE与DELETE、函数与存储过程的权限差异。

2025-07-30 17:49:17 7999

原创 spring data mongodb 入门使用手册

本文介绍了Spring Data MongoDB的基本使用方法。首先通过pom.xml引入依赖,然后创建Student文档映射类,使用@Document和@Field等注解配置映射关系。数据访问层通过继承MongoRepository接口实现基本CRUD操作,并演示了自定义查询、删除和更新方法的实现方式。其中重点说明了@Query、@DeleteQuery、@Update等注解的使用,以及@Param参数绑定的特殊语法格式。最后展示了使用Repository的insert方法批量插入数据的示例。

2025-07-29 20:00:38 249

原创 CentOS 7部署Redis

摘要: 本文详细介绍了在CentOS 7.9系统上通过源码编译部署Redis 5.0.4的完整流程。包括安装开发工具依赖、解压源码包、编译安装到指定目录、创建专用redis用户/组、配置核心参数(如远程访问、密码保护、日志路径等)、编写systemd服务单元文件、开放防火墙端口,以及权限设置和最终服务启动验证。全部操作遵循安全规范,通过用户隔离和权限控制实现生产级部署,最后通过systemctl管理Redis服务进程。

2025-07-29 14:42:09 626

原创 在CentOS上以源码编译的方式安装PostgreSQL

摘要:本文详细介绍了在CentOS 7.9系统上安装PostgreSQL 17.5的全过程。包括:1)安装必要的依赖包;2)上传并解压安装包;3)编译安装并配置参数;4)创建postgres用户和组;5)初始化数据库并修改配置文件;6)设置systemd服务;7)修改超级用户密码;8)配置防火墙开放5432端口。特别强调了关键配置如监听地址、访问权限等重要参数的修改方法,并提供了完整的服务配置文件和系统路径设置说明。

2025-07-28 21:14:37 885

原创 PostgreSQL对象权限管理

本文总结了PostgreSQL中针对数据库对象(库、模式、表、序列、函数、存储过程)的权限管理语法。核心内容包括:1)授权/撤权基础语法结构(GRANT/REVOKE);2)不同对象的关键权限类型,如表的选择/插入/更新权限、模式的创建/使用权限、函数的执行权限等;3)批量授权方式(ALL IN SCHEMA)。特别说明了各类对象的特有权限,如序列的USAGE、函数的EXECUTE等,并区分了表级TRUNCATE与DELETE、函数与存储过程的权限差异。

2025-07-25 15:57:34 719

原创 Windows安装压缩包形式的PostgreSQL

摘要:本文介绍了PostgreSQL在Windows系统下的安装配置步骤。主要包含下载解压安装包、执行initdb初始化数据库并设置中文编码、注册Windows服务、修改配置文件允许远程连接(包括监听地址和客户端认证设置),最后启动服务并验证端口监听情况。关键配置涉及数据库编码、中文排序规则、网络访问权限等设置,适用于需要搭建PostgreSQL数据库环境的用户参考。

2025-07-25 14:25:42 447

原创 spring shell 基础使用

Spring Shell 是 Spring 生态中用于构建交互式命令行应用的框架,提供注解驱动的命令开发模型。文章介绍了 Spring Shell 的基本概念、安装方式、核心接口(CommandExceptionResolver、ExitCodeGenerator)、类(Availability)和注解(@ShellMethod、@ShellOption等),以及内置命令(help、clear等)。内容涵盖命令定义、参数处理、异常处理和动态可用性控制等开发要点,并提供了注解式创建命令的示例代码。该框

2025-07-14 13:50:34 1458 1

原创 Alibaba Druid主要配置

摘要: Druid连接池核心配置包括连接数管理(初始/最小/最大连接数)、连接有效性检测(空闲检测、验证SQL)、性能优化(预编译缓存)和监控功能(过滤器、Web统计)。监控页面需单独配置访问路径和安全认证。Web请求统计可关联SQL执行数据,需注意排除静态资源干扰。合理配置这些参数可确保连接池高效稳定运行,同时提供全面的监控能力。生产环境需特别注意安全设置和性能调优。

2025-07-10 14:42:44 968 1

原创 spring-data-jpa + Alibaba Druid多数据源案例

摘要:本文介绍了使用spring-data-jpa和Alibaba Druid配置多数据源的实现方案。通过示例场景展示了三个数据库(test、demo、train)的配置方法,包括pom.xml依赖引入、application.yaml数据源配置、多DataSource配置类以及针对每个数据源的独立JPA配置。重点演示了如何为每个数据源分别设置EntityManagerFactory和TransactionManager,并指定各自的实体类和Repository包路径,实现了多数据源的隔离管理。配置过程中使

2025-07-09 22:00:14 546

原创 插入排序 图示+代码实现

可能读者疑惑为什么我的比较是从右往左比已排好的序列,其实这个没有限制,如果你能很好地控制代码逻辑,从左往右比也一样。

2025-04-22 16:59:54 179

原创 计算机基础原理 逻辑运算

二进制数1和0在逻辑上可以代表“真”与“假”。(&&、*、·、AND、∧):两逻辑值全为。(||、∨、OR、+):两逻辑值全为。、~、NOT、-):原逻辑值取反。(⊕、XOR):两逻辑值不同时取。

2025-04-14 10:32:48 342

原创 计算机基础原理 浮点数

占用4字节空间,也就是32位,其中由1位符号位,8位阶码位,23位尾数位组成。占用8字节空间,也就是64位,其中由1位符号位,11位阶码位,52位尾数位组成。在多数编程语言中,浮点数分float(单浮点数),double(双浮点数)为什么float的偏移量是127,double的偏移量是1023?因为在 IEEE 754 标准中,偏移量的计算公式为。举三个例子说明小数在。举三个例子说明小数在。

2025-04-14 10:04:35 676

原创 计算机基础原理 原码、反码、补码、移码

计算机用2进制表示数字,生活中常用10进制,用2进制表示的10进制数字就是原码(负数用1填充符号位,正数用0)如何把10进制转为2进制呢?请看下例计算机中常用8位,16位,32位,64位表示数字,一位表示一个0/1,且还带一位符号位,那么可用于表示数值的位数为:7位,15位,31位,63位。上述的二进制结果转为8位,16位,32位,64位二进制数分别为0001 11110000011 01000001000 1101111。

2025-04-12 11:15:05 828

原创 搭建小型办公NAS

机箱:欣业达N40散热风扇:利民TL-G12G12B × 2(风扇没必要选太好的,几块钱的也能用)功耗参数:单扇1.8w,双扇3.6w硬盘:西部数据机械红盘 WD40EFZX 4T × 4;西部数据固态红盘 WD RED SA500 500GB功耗参数:机械单盘读写:4.5W;空闲:3.3W;待机/睡眠:0.4W;固态单盘读写:官方未明确给出具体功耗数值,以西数大多固态功耗取最大值5.4W内存:英睿达 2400 MHz 8GB × 2功耗参数:单条约3W,双条6~8W。

2025-04-09 10:38:42 718

原创 树莓派 5 部署 OMV(OpenMediaVault)

树莓派 5 部署开源NAS系统——openMediaVault

2025-04-03 22:16:58 1837

原创 树莓派 5 换清华源

树莓派换国内清华源,安装包再也不拉胯

2025-04-03 21:26:43 554

原创 Windows卸载以压缩包形式安装的MySQL

Windows卸载以压缩包形式安装的MySQL,一共4步,轻松又简单

2025-03-26 14:00:35 540

原创 mkv转码mp4(ffmpeg工具)

基于windows,Linux也可以用,都是命令行下载路径(https://github.com/BtbN/FFmpeg-Builds/releases),(根据自己的平台选择下载)并解压到对应目录,拷贝解压后的目录,添加到环境变量新增配置:D:\ffmpeg-n6.1-latest-win64-lgpl-6.1(换成你自己的路径)path配置:%FFMPEG_HOME%/bin,看是否有以下内容输出,有则配置成功。

2025-01-18 22:18:47 1100

原创 Linux多台服务器 时间同步

基于 CentOS 7现有5台服务器项目需求以server-1服务器时间为标准,其他服务器时间与其同步对齐。

2024-11-13 11:58:16 804

原创 hadoop 3.x 伪分布式搭建

hadoop 伪分布式搭建环境。

2024-11-11 17:15:25 600

原创 Spring 事务@Transactional

事务:事务传播行为isolation:隔离级别timeout:超时设置(单位:秒)readOnly:事务是否只读。如果设置为 true,Spring 会优化事务的执行,比如不会进行脏读。:哪些异常会导致事务回滚。默认情况下,运行时异常会导致事务回滚,而检查型异常不会。:哪些异常不会导致事务回滚。

2024-11-08 11:53:25 855

原创 spring-data-jpa 一对多,多对一,多对多

首先介绍几个主要用到的注解@ManyToOne@OneToManycustomerbill,一个customer数据对应bill中多条数据,两表通过和关联实体如下为了使两张表关联起来,需要在实体中加入关联的逻辑customer.java 中加入Bill.java 中加入下面说说如何配置使用。

2024-11-06 15:47:01 1075

原创 使用 Stream 处理集合数据【Java 1.8 新特性】

Stream是Java 8中引入的一个重要概念,它提供了对集合对象进行一系列操作的新方式,包括筛选、转换、聚合等。Stream API以声明式方式提供了对数据集合的高效操作,并且可以并行处理数据

2024-11-06 00:05:25 798

原创 spring-data-aop Repository层的增删查改

先介绍一下spring-data-jpa repository层的传参,使用@Query时参数的运用第一种按照顺序进行传参,使用第几个参数就在问号后写几,使用第二个参数就写?2,使用第三个参数就写?3,以此类推。但是这种方式对于阅读代码不友好,不推荐使用第二种,使用@Param【推荐】按照参数名传参,使用第什么参数就在冒号后写参数名,方便阅读代码。

2024-11-05 14:35:59 548

原创 spring-data-aop 使用EntityManager操作数据库

使用查询// 我定义了一个不是entity的类,仅查询customer表中的姓名和年纪字段,不查id//设置JPQL参数使用查询//设置JPQL参数。

2024-11-05 11:11:16 1172

原创 spring-data-aop 常用注解解释

Entity用于将一个 Java 类标记为一个实体类,即这个类代表数据库中的一个表。以下是@Entity。

2024-11-04 18:30:19 881

原创 springboot 对jar包的传入参数的使用

例如我的应用打包后是demo.jar,我把它在服务器上启动的时候需要指定对应环境的配置,如下。,我需要spring按照我传入的配置信息使用对应的配置文件,咋整呢?而我的配置项分开写在各个yaml文件中,分别是。而这种使用方式在java代码中仍然可以,比如。理解成关键字,其后跟键值对。

2024-11-04 11:18:34 575

原创 SpringBoot中使用多线程ThreadPoolTaskExecutor+CompletableFuture

我使用的是spring提供的线程池,所以不需要写关闭的逻辑。本地mysql实测,99.9万条数据,耗时27s。定义一个线程池,并将其注入为bean。SpringBoot中使用。

2024-11-02 10:56:36 497

原创 CompletableFuture 详解

CompletableFuture 是 Java 8 引入的一个类,位于 java.util.concurrent 包中,用于编写异步代码,提供了一个可编程的、可组合的异步编程框架。以下是 CompletableFuture 的使用环境和具体作用

2024-11-01 15:20:51 850

原创 Spring-data-aop 多表联查返回自定义结果集

在使用JPQL语句时,查询结果一定要写成全类名,而且要用。现在查询一个结果,包括:账单金额,账单日期,账单ID,用户名 字段,对应自定义类如下。相关联,它俩对应的实体类分别如下。

2024-10-31 18:05:31 548

空空如也

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

TA关注的人

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