自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot 1个DTO搞定所有!Jackson视图一招破局,少写N个类

摘要: SpringBoot开发中,Jackson的@JsonView功能可有效解决多DTO导致的代码冗余问题。通过定义视图接口(如ListView、DetailView)并在POJO字段上标记,实现单一实体类适配不同接口的字段需求。例如,用户模块的列表、详情、创建、更新接口只需一个User类配合视图注解,即可动态控制字段序列化/反序列化,减少90%的重复DTO代码。关键步骤包括:1)定义空接口作为视图标记;2)用@JsonView标注字段所属视图;3)在Controller中通过@JsonView指定接口

2025-11-24 14:26:28 95

原创 Grafana+Prometheus+cAdvisor Docker容器监控平台搭建

Docker容器监控系统搭建指南 本文介绍了基于ARM64架构的Docker容器监控系统搭建方案,采用cAdvisor、Prometheus和Grafana三组件协同工作: 组件分工:cAdvisor采集容器指标(8080端口),Prometheus存储查询数据(9090端口),Grafana负责可视化展示(3000端口) 部署过程: 创建专用网络dev-network 运行cAdvisor容器并挂载系统目录 配置Prometheus抓取cAdvisor指标 部署Grafana并连接Prometheus数据

2025-09-17 09:48:25 834

原创 Docker Grafana 忘了密码修改方法

本文介绍了Docker环境下Grafana的密码管理方法。主要内容包括:首次安装时可通过容器日志获取随机密码或使用环境变量预设密码;忘记密码时可通过grafana-cli工具重置;推荐使用.env文件管理敏感信息,避免使用默认密码。文章还提供了密码重置的具体命令和注意事项,强调数据持久化的重要性,并建议生产环境使用强密码。

2025-09-15 11:31:43 1070

原创 Contos 安装 Docker

本指南详细介绍了在CentOS系统上安装Docker社区版(Docker CE)的完整流程。主要内容包括系统环境要求、卸载旧版本方法、通过yum安装Docker CE的步骤、启动服务和验证安装。还提供了安装后的基本配置,如用户权限管理、配置国内镜像加速器,以及常用的Docker基本命令。最后总结了注意事项和常见问题解决方法,帮助用户顺利完成Docker安装并开始使用。适用于CentOS 7及以上64位系统,内核版本需3.10以上。

2025-09-15 10:24:18 1311

原创 Docker 快速搭建 Nginx 可视化监控平台

本文介绍基于Docker容器快速搭建Nginx监控平台的技术方案。方案采用Nginx+Nginx Exporter+Node Exporter+Prometheus+Grafana技术栈,通过5个关键步骤实现:1)启用Nginx状态采集模块;2)部署Nginx Exporter采集指标;3)配置Prometheus存储和查询数据;4)部署Grafana可视化工具;5)导入预设仪表盘模板。整个过程无需复杂环境配置,通过Docker容器化部署,新手也能快速上手。最终实现包含Nginx状态、系统资源等多维度监控数

2025-09-05 10:13:37 739

原创 Linux 环境源码安装 Docker

本文介绍了在CentOS系统中通过源码方式安装Docker 27.0.3的完整流程。主要包括从清华镜像下载源码包、解压文件、复制到系统目录,并配置为systemd服务。通过创建docker.service文件定义服务参数,设置权限后启动Docker并验证状态。该方法适用于离线环境或需特定版本的场景,支持systemd管理,兼容CentOS 7等x86_64架构系统。关键步骤包含服务配置、权限设置和状态检查,确保Docker正常运行。

2025-08-28 14:15:10 539

原创 Spring Retry Spring 生态系统优雅的重试组件

**Spring Retry 是 Spring 生态系统提供的重试框架,通过声明式注解优雅处理瞬时故障,提升应用健壮性。其核心采用 AOP 和策略模式,支持灵活配置重试策略、回退间隔和降级方案。优点是解耦业务逻辑,但需注意幂等性问题。适用于远程调用、数据库操作等场景。案例演示了如何通过注解实现 API 调用失败后的自动重试和降级处理。

2025-08-27 14:56:39 1079

原创 net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) nginx转发记录

Nginx代理报错206

2025-08-27 14:26:29 462

原创 Mac m系列 VMware Fusion虚拟机安装ARM contos

本文详细介绍了在Mac上使用VMware Fusion安装CentOS Stream 9的完整流程。首先需要下载VMware Fusion和CentOS Stream 9镜像文件,然后通过VMware创建新虚拟机,特别强调要选择"自定义配置"并调整处理器、内存和硬盘参数。安装过程中需注意选择Linux系统类型、配置安装目录和用户密码,最后完成安装并重启系统即可进入CentOS环境。文中配有多个安装步骤截图,为用户提供了直观的操作指引。

2025-07-20 23:02:29 749

原创 Java 并发包 - Semaphore类

Semaphore是Java并发包中的计数信号量工具,用于控制同时访问特定资源的线程数量。其核心原理是通过许可证计数器管理资源访问,提供acquire/release操作、公平性选择、批量操作等特性。基于AQS实现,支持共享锁模式,适用于资源池管理、API限流等场景。典型应用包括数据库连接池模拟(控制最大连接数)和限流系统(限制每秒请求数)。最佳实践强调及时释放许可证、避免死锁及合理调整许可数量,是解决并发控制问题的有效工具。

2025-07-19 15:00:22 454

原创 Mac中Minicom串口调试基础使用

Mac 使用 Minicom 连接串口设备简明教程 安装:通过 brew install minicom 安装。 查找设备:连接适配器后运行 ls /dev/tty.* 获取设备名(如 /dev/tty.usbserial-XXXX)。 配置: 快速启动:minicom -D /dev/tty.usbserial-XXXX -b 115200 交互配置:minicom -s 设置设备路径、波特率(如115200)并关闭硬件流控。 退出:按 Ctrl+A 后按 X。 常见问题: 权限问题:用 sudo chm

2025-07-07 15:08:57 909

原创 Docker 将镜像打成压缩包将压缩包传到服务器运行

摘要: 本文详细介绍了如何将本地Docker镜像迁移到服务器的三种方法: 压缩包传输:通过docker save打包镜像,用scp传输到服务器后docker load加载 SSH直传:使用docker save | ssh "docker load"命令流式传输 容器仓库:推荐生产环境使用,先推送镜像到Docker Hub再拉取 关键步骤包括镜像打包、安全传输、服务器加载及容器运行参数配置(端口映射、卷挂载等)。另附常见问题解决方案,如权限不足、端口冲突的处理方法。对于简单迁移,SSH直

2025-07-07 14:55:27 624

原创 Java 实现后端调用 Chromium 浏览器无头模式截图的方案

Java 实现后端调用 Chromium 浏览器无头模式截图的方案。

2025-06-18 16:40:37 679

原创 lombok 工具类注解

摘要:@UtilityClass和@NoArgsConstructor(access = AccessLevel.PRIVATE)都是用于防止工具类实例化的注解。前者自动生成私有构造器并强制所有方法静态化,适用于纯工具类;后者仅生成私有构造器,允许非静态方法存在。@UtilityClass提供更严格的安全检查,而后者更灵活。建议纯工具类使用@UtilityClass,需要保留非静态方法时用@NoArgsConstructor。两者均通过Lombok实现,但@UtilityClass属实验性功能需注意启用状态

2025-06-11 13:00:45 824

原创 MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。

2025-06-09 08:23:37 882

原创 Spring Boot缓存组件Ehcache、Caffeine、Redis、Hazelcast

本文分析了Spring Boot缓存架构的核心组件与主流缓存工具特性对比。通过表格和图表详细比较了Ehcache、Caffeine、Redis和Hazelcast在性能、存储方式、集群支持等关键维度的差异,并提供了本地缓存(Caffeine)和分布式缓存(Redis)的配置实现案例。针对不同应用场景,提出技术选型决策树:小数据量高性能场景推荐Caffeine,大数据量分布式场景选择Redis或Hazelcast。最后对比了各方案的高级特性,为开发者提供全面的缓存技术选型参考。

2025-06-05 15:52:29 2718

原创 SpringBoot EhCache 缓存

摘要: EhCache作为高效Java缓存框架,通过堆内/堆外/磁盘多级存储实现纳秒级响应,支持LRU/LFU等过期策略。Spring Boot集成仅需添加依赖、配置XML及启用注解,核心注解如@Cacheable、@CacheEvict简化缓存管理。其优势在于轻量、低延迟,但分布式支持较弱。案例演示图书查询服务,首次访问模拟3秒延迟,后续命中缓存瞬时返回。适用于高频读场景,显著提升QPS(实测120→4500+),但不适合大数据或频繁更新场景。调试时可结合JMX监控命中率,根据业务需求平衡缓存策略。

2025-06-05 09:02:11 1487

原创 HTTP、WebSocket、SSE 对比

HTTP、WebSocket与SSE特性对比及选型指南 本文对比了HTTP、WebSocket和SSE三种网络协议的核心特性。HTTP采用请求-响应模式,适合传统API交互但实时性差;WebSocket支持全双工通信,适合实时应用但实现复杂;SSE允许服务器单向推送,简单易用但不支持双向交互。三者各有优劣:HTTP兼容性好但效率低,WebSocket实时性强但需手动管理连接,SSE轻量但功能有限。文章通过Java示例演示各协议实现,并给出选型建议:WebSocket适合双向实时场景(如聊天),SSE适用于服

2025-06-02 11:59:31 907

原创 Java Duration 类

Java 8的Duration类用于精确表示时间间隔,支持秒级和纳秒级计算。主要特性包括:基于ISO-8601标准格式(如"PT2H30M15.5S")、不可变且线程安全、最高纳秒精度。典型应用场景包括代码耗时测量、超时控制、时间单位转换和任务调度。通过between()方法计算时间间隔,提供加减乘除运算和单位转换(如toMillis()),优于传统TimeUnit。注意Duration仅处理时间量,日历日期需用Period类。结合Instant使用可构建精确计时逻辑。

2025-06-02 11:54:46 659

原创 Mysql时间函数

通过上述方法,可高效处理 MySQL 中的时间格式化和比较需求。:按单位(秒、分钟、小时、天等)计算时间差。:将日期/时间值格式化为字符串。:将字符串转换为日期/时间类型。:返回两个日期相差的天数。:对日期进行加减操作。

2025-05-28 14:24:52 386

原创 IDEA Mysql连接失败,移除JDBC驱动程序中的协议列表

IDEA mysql连接失败

2025-05-06 11:10:28 480

原创 M1 Mac pip3 install错误记录

安装 nacos-sdk-python 时安装失败。

2025-04-30 15:54:40 652

原创 开发过程中慢SQL 监控手段、分析工具、优化方法

判断慢 SQL:通过数据库日志、执行计划、APM 工具定位问题。优化核心:索引设计、SQL 改写、绑定变量、分库分表。持续优化:建立 SQL 审核流程,定期分析慢查询日志,结合业务演进调整设计。

2025-04-23 09:09:45 799

原创 Java 线程池概念理解

Java 线程池是并发编程的基石,其高效性源于对线程生命周期的精细管理和任务调度的智能决策。正确配置参数(核心线程数、队列类型、拒绝策略)需结合具体业务场景,同时通过监控和动态调整应对流量波动。进阶实践中,应注重线程命名规范化、异常处理、资源泄露防范,并合理利用 Java 8+ 的新特性提升系统性能。当任务提交到线程池时,空闲线程直接从队列中获取任务执行,避免反复创建新线程的开销。线程执行完任务后不会销毁,而是继续等待下一个任务。超时等待),实现“线程-任务”的解耦和复用。循环从队列中获取任务

2025-04-22 14:55:41 1013

原创 WITH 临时表 SQL优化

CTE 是一个命名的临时结果集,通过WITH关键字定义,仅在当前 SQL 语句中有效。语法如下:sqlSELECT statement -- 子查询或表表达式-- 后续使用cte_name作为表名CTE 是 SQL 优化的重要工具,尤其在复杂查询场景中,通过拆解逻辑、复用中间结果、简化递归处理,既能提升代码可读性,又能借助数据库优化器提升性能。在 Oracle 中,结合索引优化、执行计划分析和合理的物化策略,CTE 可显著减少子查询重复计算,降低 IO 和 CPU 消耗。

2025-04-22 14:53:51 1557

原创 HashMap 初步理解 put 操作流程 HashMap 的线程安全问题

通过源码级分析,可以深入理解 HashMap 的设计哲学与工程实现细节,为高性能编程奠定基础。HashMap 是 Java 中最常用的哈希表实现,基于。

2025-04-20 00:05:12 929

原创 Java中常见的锁synchronized、ReentrantLock、ReentrantReadWriteLock、StampedLock

在Java中,锁是实现多线程同步的核心机制。不同的锁适用于不同的场景,理解其实现原理和使用方法对优化性能和避免并发问题至关重要。

2025-04-19 23:53:47 1329

原创 Oracle、MySQL、PostgreSQL三大数据库对比分析

oracle、mysql、postgresql数据库对比

2025-04-18 21:22:33 2485

原创 Jenkins 简易使用记录

通过以上步骤,可高效实现 Spring Boot 和 Vue 项目的自动化部署,显著提升 DevOps 效率。

2025-04-18 21:02:07 1531

原创 Spring Boot 项目启动命令解析

SpringBoot 启动参数

2025-04-17 22:23:27 1264

原创 Nginx 配置文件理解,基础使用

Nginx配置理解

2025-04-17 22:07:34 1255

原创 Filter、Interceptor、Spring Aop 区别分析

Filter、Interceptor、Spring Aop 区别

2025-04-16 14:56:26 1017

原创 Spring Boot 常用注解

SpringBoot常用注解

2025-04-16 14:01:04 1018

原创 Tomcat、Jetty、Undertow 对比

SpringBoot web服务器对比选择自定义配置:(2) Jetty依赖配置:需排除 Tomcat 并添加 Jetty 依赖。自定义配置:(3) Undertow依赖配置:排除 Tomcat 并添加 Undertow 依赖。自定义配置:9. 性能调优建议Tomcat优化线程池:调整 和 。开启 NIO 模式(默认已启用):Jetty异步处理:利用 Jetty 的异步

2025-04-15 22:22:21 2699

原创 基于Docker 安装Nginx,配置ssl证书

CentOS 7.9 64位。

2025-04-15 16:57:43 298

原创 Docker常用命令

覆盖日常开发、测试和部署中的大部分Docker操作需求。建议搭配Docker文档使用以深入理解参数细节。

2025-04-15 08:56:34 1003

原创 Vim 编辑器的常用命令整理

掌握这些命令后,Vim 的编辑效率会显著提升!练习时建议从常用操作开始逐步熟悉。

2025-04-14 17:40:00 910

原创 Git操作命令

Git操作命令

2025-04-14 16:14:15 850

原创 Spring @Autowired VS @Resource

是两种常用的依赖注入注解,但它们在来源、注入机制和使用场景上存在差异。:字段注入不符合构造器注入的最佳实践,建议重构为构造器注入以提高代码健壮性。在IntelliJ IDEA等IDE中,字段注入的。建议改用构造器注入或Setter方法注入。Spring团队建议优先使用。在Spring框架中,

2025-04-13 22:49:22 590

原创 git push超过100MB大文件推送失败(write error: Broken pipe)

使用git push推送超过 100MB 的大文件时,Git 会因默认限制或远程仓库(如 GitHub、GitLab)的限制而报错。

2025-04-13 00:56:43 1211

Grafana+Prometheus+cAdvisor Docker容器监控平台搭建

Grafana+Prometheus+cAdvisor Docker容器监控平台搭建

2025-09-16

Docker 快速搭建 Nginx 可视化监控平台

Docker 快速搭建 Nginx 可视化监控平台

2025-09-05

空空如也

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

TA关注的人

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