自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 ExcelUtils样式相关工具

本文整理了Excel样式工具类ExcelUtils中的常用样式方法,包括: 居中样式(水平和垂直居中) 边框样式(四周细边框) 标题样式(16号粗体居中) 表头样式(粗体居中带边框) 自动换行样式 竖向文字样式(旋转90度) 红色字体样式(用于标记异常) 日期格式(yyyy-MM-dd) 时间格式(HH:mm:ss) 百分比格式(0.00%) 金额格式 每个方法都提供详细注释,说明功能、参数和适用场景。这些样式方法封装了Excel常用的单元格格式设置,便于统一管理和复用。

2026-06-02 18:52:45 242

原创 数据库id生成方案

摘要:本文介绍了5种数据库主键生成方案,包括自增主键、UUID、雪花算法、Redis序列和自定义混合ID,并对比了它们的优缺点。针对Spring Boot + MyBatis + MySQL项目,推荐使用雪花算法(Snowflake ID)作为分布式系统的最佳实践,提供了详细的实现代码示例,包括工具类创建、Service层使用和数据库表设计。同时简要介绍了其他备选方案,并根据不同场景给出了推荐选择,帮助开发者根据实际需求选择合适的主键生成策略。

2026-01-29 15:08:14 526

原创 使用Markdown【从入门到精通一篇就够了】

Markdown是一种轻量级标记语言,由John Gruber创建,用于简化文档排版。它使用纯文本格式编写,可转换为HTML等多种格式,文件后缀为.md或.markdown。Markdown语法简单易学,10分钟即可掌握90%常用语法,包括标题(#)、字体(/_)、列表(/1.)、链接、图片、表格等基础格式。此外还支持代码块、数学公式、流程图等高级功能。其优势在于摆脱排版困扰、跨平台兼容、随时修改不丢失格式。主流编辑器如Typora,广泛应用于GitHub、CSDN等平台。

2026-01-29 15:07:49 1673

原创 使用Iterator迭代器在遍历中安全删除元素

本文介绍了Java中Iterator的使用方法,重点讲解了如何安全地在遍历集合时删除元素。文章对比了Iterator、forEach和Stream等遍历方式的区别,指出Iterator是唯一能安全删除元素的方式。提供了标准Iterator写法、删除元素示例以及常见错误总结,并推荐JDK8的removeIf方法作为更简洁的替代方案。最后强调在需要删除集合元素的场景下必须使用Iterator,避免ConcurrentModificationException异常。

2026-01-28 09:02:38 537

原创 如何自己搭建oss

摘要:本文介绍四种OSS存储方案:1️⃣ MinIO(推荐✅)开源S3兼容存储,单文件部署简单,适合开发/生产;2️⃣ Ceph企业级分布式存储,支持PB级数据但部署复杂;3️⃣ FastDFS国产文件存储,适合图片视频但生态封闭;4️⃣ 自研简易OSS(学习用)基于Spring Boot+数据库。建议个人/小团队选MinIO,企业级用Ceph,国产需求选FastDFS,学习可自研简易方案。(149字)

2026-01-28 09:02:05 517

原创 如何在程序中避免出现大量if和case

本文介绍了Java开发中消除条件分支的多种方案:1)策略模式,通过接口+实现类+Spring自动注入Map实现类型分派;2)枚举+Lambda+Map,适合轻量级逻辑;3)Map映射表实现简单分派;4)责任链模式处理逐步判断场景;5)状态模式应对状态相关逻辑;6)反射+注解实现动态调用。文章对比了各方案的适用场景,其中策略模式配合Spring容器管理是最推荐的方式,能有效避免if-else/switch-case的泛滥,提高代码可维护性和扩展性。

2026-01-27 09:07:08 429

原创 幂等设计百科

摘要:幂等性是确保对同一资源的同一语义请求执行一次或多次后系统最终状态一致的特性。其本质来源于网络重试、用户行为、系统重放等场景。幂等方案可分为四大类:唯一性约束(如数据库唯一索引)、状态机约束(如状态前置校验)、请求去重(如Token机制)和操作原子性(如数据库事务)。不同系统类型(Web API、分布式系统、MQ等)需采用针对性方案,核心公式为"幂等=唯一标识+状态判断+原子操作+最终兜底"。设计时需避免仅依赖Redis锁或前端限制等反模式,幂等是系统应对不确定性的免疫能力。

2026-01-27 09:06:34 854

原创 路由器上做 端口映射(NAT 转发)

摘要:本文详细介绍了如何在路由器上配置端口映射(NAT转发),实现公网访问内网服务器。内容包括原理图解、具体操作步骤(登录路由器后台、设置端口转发规则)、多端口映射示例、安全注意事项及端口开放测试方法。重点说明了外部端口与内部端口的对应关系,并提供了常见服务端口对照表。配置成功后,外网用户可通过公网IP访问部署在内网的Web服务或应用接口。

2026-01-26 09:39:16 1323

原创 定时任务(Spring @Scheduled)

本文详细介绍了Spring @Scheduled注解中Cron表达式的使用方法。主要内容包括:Cron表达式的6位时间格式说明、特殊符号(*、?、-、,、/)的含义解析、常用定时任务示例(如每天0点、每5分钟等)、表达式逐位拆解示范,以及常见问题排查建议。文章提供了丰富的Cron表达式实例,涵盖日、周、月等多种定时场景,并特别提醒注意时区设置和表达式格式要求,帮助开发者快速掌握定时任务的配置技巧。

2026-01-26 09:38:45 825

原创 SQL常用语句(基础)大全---(持续更新)

SQL语句主要分为四大类型:DDL(数据定义语言)用于创建和管理数据库对象,DML(数据操作语言)用于增删改数据,DQL(数据查询语言)用于数据查询,DCL(数据控制语言)用于权限管理。DDL包含数据库和表的创建、修改、删除等操作;DML包括数据的插入、更新和删除;DQL提供丰富的查询功能,如条件查询、分组、排序、聚合等;DCL则控制用户访问权限。每种类型都有特定的语法和用途,共同构成了完整的SQL数据库操作体系。

2026-01-23 14:14:22 1362

原创 Spring 常用注解摘要

本文系统整理了Spring框架中的核心注解及其应用场景,涵盖启动配置、依赖注入、事务管理、AOP切面、MVC控制、数据持久化、JSON处理、测试验证等14个关键领域。每个注解条目清晰标注功能说明和典型使用场景,如@SpringBootApplication用于启动类、@Transactional管理事务、@RestController构建API等。特别包含参数校验、异步任务、缓存控制、安全权限等高级特性注解,并区分了JPA与MyBatis的持久化方案。该分类表可作为Spring开发的速查手册,帮助开发者快速

2026-01-23 14:13:52 767

原创 MySQL 聚合函数总表(完整版)

本文全面介绍了MySQL聚合函数的使用方法,将其分为7大类:基础统计、字符串聚合、方差/标准差、位运算、JSON聚合、逻辑聚合以及ANY_VALUE函数。详细说明了各类函数的语法、功能特点和使用场景,包括是否忽略NULL值、典型应用示例等。特别强调了GROUP BY规则、WHERE与HAVING的区别以及NULL值对聚合结果的影响。文章还提供了针对ONLY_FULL_GROUP_BY模式的解决方案,并指出JSON聚合函数适用于MySQL 5.7+版本。最后总结了聚合函数处理NULL值的具体规则,为数据库查询

2026-01-22 14:56:51 405

原创 MySQL 聚合函数

本文总结了MySQL聚合函数的完整集合,重点介绍了行数统计、数值统计、极值、字符串聚合、统计学、位运算、JSON聚合等8大类函数,并解释了COUNT、SUM、AVG等核心函数的使用方法。特别强调了GROUP_CONCAT和MySQL 8新增的JSON聚合函数,同时指出了使用聚合函数时的3个关键规则:非聚合字段必须GROUP BY、正确处理表达式、不关闭ONLY_FULL_GROUP_BY模式而使用ANY_VALUE()。文章还区分了窗口函数与GROUP BY聚合的本质差异,提供了MySQL 8.x支持的完整

2026-01-22 14:56:15 518

原创 Nginx在Windows上的快速部署指南

本文介绍了Nginx在Windows环境下的安装配置与管理方法。主要内容包括:Nginx的高性能特点与解压安装流程;配置文件结构解析(全局块、events块、http块)及核心配置项(server_name、location、upstream);Windows下的服务管理方式(命令行启动停止、注册为系统服务)。通过详细的操作步骤和配置示例,帮助用户快速掌握Nginx在Windows平台的基本部署与管理技能。

2026-01-21 10:02:52 677

原创 Nginx配置静态资源服务器

本文介绍了如何配置Nginx作为静态资源服务器,实现网页的远程访问。主要内容包括:1)Nginx的安装方法(适用于Debian/Ubuntu和CentOS/RHEL系统);2)详细配置步骤,包括创建配置文件、设置静态资源目录、缓存控制和gzip压缩等;3)配置验证和重启Nginx服务;4)测试访问和进一步优化建议(如HTTPS、CDN等)。文章提供了完整的配置示例和说明,帮助用户快速搭建高效静态资源服务器。

2026-01-21 10:02:08 601

原创 MySQL 里给表添加索引

本文介绍了MySQL中常用的索引类型及其创建方法:1)普通索引(Index)适用于WHERE查询字段;2)唯一索引(Unique Index)保证字段值唯一;3)组合索引(Composite Index)用于多字段联合查询;4)主键(Primary Key)是表的唯一标识;5)全文索引(Fulltext Index)支持长文本模糊搜索。同时说明了通过ALTER TABLE添加索引和删除索引的方法,并针对不同字段提供了索引选择建议。

2026-01-20 11:41:41 558

原创 MyBatis-Plus 的内置方法

摘要: MyBatis-Plus提供BaseMapper<T>和IService<T>/ServiceImpl<T>两类内置方法,无需编写SQL即可实现增删改查。BaseMapper包含基础CRUD操作(如insert、deleteById、selectList等),而IService扩展了批量操作(如saveBatch、updateBatchById)和便捷查询(如list、page)。通过继承这些接口,开发者可直接调用如fileRecordMapper.selectL

2026-01-20 11:41:10 353

原创 MyBatis-Plus 比较运算符

MyBatis-Plus条件构造器常用方法速查表:包含基本比较运算符(eq/gt/lt等)、模糊匹配(like/notLike)、集合运算(in/notIn)、NULL判断(isNull/isNotNull)、逻辑条件(and/or/nested)、排序分组(orderBy/groupBy)以及Lambda风格写法。表格形式清晰展示各方法对应的SQL表达式、含义及使用示例,特别是推荐使用LambdaQueryWrapper避免硬编码,提升代码安全性和可维护性。涵盖MyBatis-Plus核心查询功能,适合快

2026-01-19 11:22:06 391 1

原创 Lambda 表达式大全

Java Lambda 表达式是 Java 8 引入的简化代码语法,通过 (参数)->{方法体} 结构实现简洁编程。本文整理了 Lambda 的基础语法、常用函数式接口(如 Predicate、Function 等)及集合操作(遍历、过滤、排序等),并提供了实际业务应用示例(如数据统计、分组处理)。同时指出了常见使用误区(如异常处理、变量修改限制),强调在保持代码可读性的前提下合理使用 Lambda 和方法引用。核心口诀概括为:输入→逻辑→输出的链式处理模式。

2026-01-19 11:21:35 426

原创 Java 常见场景中需要使用 try 的示例集

本文总结了Java中必须使用try-catch的常见场景,包括文件I/O、数据库操作、网络请求、日期解析、MinIO操作、多线程执行和JSON解析等。每个场景都提供了完整的代码示例并逐行注释,便于直接参考使用。其中文件操作、数据库连接等必须处理异常,而某些场景如保护关键逻辑则可根据需求选择使用。文中还给出了统一处理多种异常的综合示例,帮助开发者全面掌握异常处理技巧。

2026-01-17 14:18:50 711

原创 Java Stream API详细用法

摘要:Java Stream API 是 Java 8 引入的流式数据处理工具,用于对集合或数组进行高效操作。它包含创建流(stream()/of())、中间操作(filter/map/sorted等延迟执行)和终止操作(collect/count等触发执行)三部分。核心功能包括数据过滤转换、分组统计(Collectors工具类)、并行处理(parallelStream)等,支持链式调用和函数式编程风格。特别适合大数据量处理,通过flatMap可展平嵌套集合,并提供分页、去重等实用技巧,大幅简化集合操作代码

2026-01-17 14:18:20 482

原创 Jackson 常用注解与完整用法总结

本文摘要:Jackson注解提供了灵活的JSON序列化与反序列化控制,主要包括核心注解分类和使用场景详解。核心注解如@JsonSerialize/@JsonDeserialize用于自定义字段转换,@JsonFormat处理日期/数字格式化,@JsonIgnore过滤敏感字段,@JsonInclude控制空值输出,@JsonProperty处理字段名映射,@JsonView实现分组视图控制。文中通过代码示例展示了Long转字符串防精度丢失、日期格式化、Base64转换等常见应用场景,并介绍了全局配置方法。这

2026-01-16 09:17:42 321

原创 Git 分支与多人开发使用指南(Gitee + 本地 Git)

Git 分支与多人开发使用指南(Gitee + 本地 Git)

2026-01-16 09:17:08 778

原创 Docker 启动参数速查表(全镜像通用)

本文提供了Docker容器管理的实用指南,包含三部分内容:1)参数分类,将启动参数分为必需、推荐和可选三类;2)常用镜像模板,包括MySQL、Redis、Nginx及通用容器的标准启动命令;3)常用管理命令清单,涵盖容器生命周期管理、日志查看和镜像操作等。重点强调了端口映射、数据持久化、环境变量配置和自动重启等关键参数,并提供了各场景下的最佳实践命令模板。

2026-01-15 14:51:50 400

原创 Docker 常用指令和使用方法

本文整理了Docker常用命令速查表,涵盖镜像管理、容器操作、数据卷挂载、网络配置等核心功能。镜像管理包括拉取、查看、删除、导入导出等操作;容器管理涉及创建、启停、删除、进入容器等命令;数据卷部分说明文件挂载方法;网络配置讲解端口映射和网络创建。还包含系统信息查看和清理命令,并提供了MySQL容器从镜像导入到运行的完整示例流程,方便开发者快速查阅和参考Docker日常操作命令。

2026-01-15 14:51:05 424

原创 Docker 常用镜像启动参数对照表

Docker常用镜像启动参数对照表,包含MySQL、Redis、Nginx等主流镜像的推荐配置。摘要包括:必选参数(命名、后台运行、端口映射、数据卷)、环境变量设置、重启策略等核心配置项,并提供各镜像的标准启动命令示例。同时给出通用模板和实用技巧,如数据持久化方法、日志查看和容器进入命令,帮助开发者快速部署和管理容器服务。

2026-01-14 09:03:18 236

原创 45 个常用Linux 命令

本文介绍了Linux系统中常用的文件目录操作命令,包括ls、cd、pwd、mkdir、rm、rmdir、mv、cp、touch、cat、nl和more等。这些命令涵盖了文件查看、目录切换、创建删除、复制移动等基本操作,是Linux日常使用的基础。每个命令都详细说明了其功能、常用参数和具体使用实例,帮助用户快速掌握这些必备技能。通过合理组合这些命令,用户可以高效地完成文件管理任务,无需记忆所有Linux命令就能满足日常工作需求。

2026-01-14 09:02:32 1444

原创 Docker 容器启动的全方位方法汇总

本文总结了Docker容器的常用启动和管理命令。主要内容包括:基础启动方式、后台运行、容器命名、端口映射、数据持久化、环境变量配置、重启策略、交互模式等核心操作。提供了生产环境通用启动模板,并整理了镜像管理、容器管理、系统信息查询等常用命令。特别强调了服务类容器必须配置端口映射和数据持久化,同时推荐使用环境变量和自动重启策略。文章最后还列举了CPU/内存限制、网络配置等特殊启动选项,为Docker使用者提供了全面的操作指南。

2026-01-09 08:53:46 567

原创 通用 Token 管理工具(详细注释 + 完整使用示例 + 设计说明)

本文介绍了一个通用的Token管理工具,采用分层设计实现高扩展性。核心组件包括:AccessToken接口定义Token标准行为,DefaultAccessToken提供默认实现(含提前5分钟过期的容错机制),TokenProvider接口实现获取策略解耦。TokenManager通过双重检查锁和key级锁实现线程安全,支持同步刷新和缓存复用。使用示例涵盖OAuth、企业微信、JWT等场景,并规范了key命名规则(平台:用途)。该设计将Token的获取、缓存、并发控制等关注点分离,支持无缝切换存储方案(如改

2026-01-09 08:53:16 427

原创 Token 管理工具

本文提出了一套通用的Token管理工具设计方案,核心特点是平台无关性和高度复用性。通过策略模式将Token获取逻辑与缓存管理解耦,由TokenProvider接口负责Token刷新,TokenManager专注于缓存、过期判断和并发控制。方案采用双重检查锁机制确保线程安全,支持多种Token类型(OAuth/API/JWT等),并预留分布式扩展能力。该设计具有以下优势:完全解耦、高并发安全、易于扩展、可测试性强,且能平滑过渡到分布式环境。实现上仅需4个核心接口/类,适用于企业微信、钉钉、阿里云等各种平台,是

2026-01-08 15:00:58 635

原创 安装 docker.io(不走外网 Docker 域名)

本文介绍了在Ubuntu系统上安装和配置Docker的完整流程。主要内容包括:1)通过官方仓库安装docker.io;2)启动并设置开机自启;3)将Docker数据目录迁移到指定位置(如/data/docker);4)将用户加入docker组以获取权限;5)验证安装和配置的正确性;6)管理Docker服务的常用命令,包括查看状态、启动/停止服务、查看容器日志等。重点强调了在迁移数据目录时需确保Docker服务完全停止,并提供了详细的验证步骤。全文提供了清晰的命令行操作指南,适合需要本地化部署Docker的用

2026-01-08 15:00:25 947

原创 Ubuntu 22.04 安装 Docker

本文详细介绍了在Ubuntu 22.04系统上安装Docker并部署MySQL 8.0的完整流程。主要内容包括:确认系统版本、官方方式安装Docker(含依赖安装、GPG密钥添加、仓库配置等步骤)、配置免sudo使用Docker、通过Docker快速部署MySQL容器(含数据持久化、字符集设置等优化配置),以及Spring Boot连接配置示例和远程访问设置。整个过程确保环境干净整洁,特别适合Spring Boot+MyBatis开发场景,实现了不污染系统、随时可删除重建的轻量级数据库解决方案。

2026-01-07 08:59:43 751

原创 Certbot如何在Windows上使用

本文介绍了在Windows系统上使用Certbot获取Let's Encrypt免费HTTPS证书的三种方法。首选方案是通过WSL运行Linux版Certbot,其次是使用Docker镜像,最后推荐纯Windows环境下使用acme.sh工具。文章详细说明了每种方式的安装配置步骤,包括证书申请、存放路径及自动续期设置(证书90天有效期),并针对不同使用场景给出了具体建议方案。Certbot作为EFF开发的自动化工具,能高效完成域名验证、证书申请安装和自动续期等工作。

2026-01-07 08:59:09 1206

原创 主流传输 /通信协议的【使用场景 + 详细使用说明】大全

本文总结了主流通信协议的核心使用场景和实战要点:TCP确保可靠传输(如HTTP/HTTPS、数据库),UDP追求低延迟(如直播、游戏);HTTP用于请求响应,WebSocket实现双向推送;gRPC适用于高性能RPC调用,MQTT专攻物联网场景;Kafka处理高吞吐日志流,WebRTC支撑实时音视频;QUIC是弱网环境新趋势。文末提供速查表,助开发者快速匹配业务需求与协议特性,涵盖从接口调用到IoT等典型场景的协议选型指南。

2026-01-06 13:43:53 550

原创 nssm的使用方法和场景

NSSM是Windows下将任意程序注册为系统服务的完美解决方案,特别适合Spring Boot等Java/Python/Node应用的后台运行。文章详细介绍了NSSM的核心优势(开机自启、自动重启、日志管理)、安装配置方法,并提供了生产级Spring Boot部署的完整流程,包括JVM参数优化、服务管理脚本和常见错误排查。通过NSSM可实现企业级应用的稳定运行,是Windows服务器上托管后台服务的标准方案。

2026-01-06 13:40:01 1350

原创 使用NSSM在Windows 上运行 Java 服务

本文介绍了使用NSSM(Non-Sucking Service Manager)将Java应用注册为Windows服务的最佳实践方案。主要内容包括:1) 准备工作,下载NSSM并确认Java路径;2) 核心脚本service-install.bat,实现幂等的一键注册和启动服务,具有可重复执行、日志自动滚动、开机自启等特性;3) 提供单独的一键启动/停止脚本;4) 服务验证和卸载方法;5) 对比分析NSSM优于其他方案的优点,特别是针对Spring Boot等需要长时间稳定运行的后台服务。该方案无需修改代码

2026-01-05 14:58:27 601

原创 如何将公司公网ip绑定到服务器和域名

本文详细介绍了企业上线部署中公网IP、服务器和域名绑定的完整流程。首先通过逻辑图说明域名解析到公网IP再到服务器的三层关系,然后分步骤讲解:1)确认公网IP(云服务器自动分配/物理服务器需端口映射);2)配置Nginx监听;3)在域名服务商添加A记录;4)访问测试。文章还提供了HTTPS配置、反向代理等增强功能,并列出常见问题排查表,包括ping不通、404错误等情况的解决方法。整个流程涵盖了从基础配置到高级优化的完整部署方案。

2026-01-05 14:57:18 596

原创 使用NSSM在Windows 上运行 Java 服务(增加:自动重启 + JVM 参数优化)

本文提供一套可直接上线的Spring Boot服务升级方案,在NSSM守护基础上增强稳定性与可观测性。并详细说明NSSM自动重启阈值设置。附完整bat脚本实现服务安装、配置、启动全流程,适用于Windows服务器环境,可根据机器配置灵活调整内存参数。

2025-12-31 14:18:47 496

原创 幂等设计百科

文章摘要 幂等性是指对同一资源的相同请求,执行一次或多次对系统最终状态的影响一致。幂等问题源于网络重试、用户行为、系统重放等多种场景,本质是"有副作用"就需要考虑幂等。所有幂等方案可分为四类:唯一性约束(如数据库唯一索引)、状态机约束(如状态校验)、请求去重(如Token机制)和操作原子性(如事务)。不同系统类型(Web API、分布式系统、MQ等)有对应的幂等方案组合。设计时应遵循"唯一标识+状态判断+原子操作+最终兜底"的黄金公式,避免仅依赖Redis锁等反模式。

2025-12-31 14:16:47 712

原创 Spring Boot 项目可执行 jar 的完整 Maven 打包示例

本文提供Spring Boot项目通过Maven打包可执行jar的完整示例,支持跳过测试、指定环境(dev/prod)、自定义版本号等功能。

2025-12-30 15:11:05 307

空空如也

空空如也

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

TA关注的人

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