技术文章

做项目时留下的记录:以机器人数据为主,Java、Linux 后端基础为辅。

[Java 后端]

JVM 内存、JMM 与诊断方法

分清堆、进程内存与跨线程可见性,选择对应的排查工具。

#Java
≈ 7 分钟
[Java 后端]

Java 并发:先保证正确,再讨论吞吐

从共享状态、竞态与虚拟线程出发,先让并发程序正确,再讨论吞吐。

#Java
≈ 8 分钟
[部署与运维]

Docker Compose 部署 Vue 3 与 Spring Boot

本文使用 Dockerfile 和 Compose 组织 Vue 3 静态前端与 Spring Boot 后端。先构建各自镜像,再配置容器网络、反向代理和回环端口,最后分别验证页面与接口。

#DockerCompose#Vue#SpringBoot
≈ 4 分钟
[模型推理]

GPUStack 部署前检查与验收:版本、持久化和升级

GPUStack 用于管理 GPU 资源和模型服务。部署时要同时核对管理服务、工作节点和推理后端的版本,避免界面可用但模型实例无法启动的情况。

#GPUStack#GPU#模型服务
≈ 2 分钟
[模型推理]

vLLM 与大模型推理平台:部署、职责与选型

部署一个模型通常从推理引擎开始。vLLM 部署先确认驱动、GPU、Python 与安装包是否兼容,再用小模型验证请求链路;模型数量或流量增加后,把模型发布、容量分配和请求路由交给平台层统一管理,选型时先列出要解决的问题再核对候选系统的职责。

#vLLM#推理引擎#GPU
≈ 8 分钟
[部署与运维]

Git 基础:提交、分支与协作

Git 将修改组织为工作区、暂存区和提交,再通过远程仓库协作。本文按一次日常修改流程介绍命令,并说明冲突和历史恢复的边界。 这篇文章不讲复杂原理,直接按真实工作流来:创建仓库 → 提交代码 → 查看历史 → 分支协作 → 连接远程仓库。

#Git#版本控制#协作
≈ 3 分钟
[部署与运维]

Cloudflare:优选 IP 与 Tunnel 内网穿透

把节点套上 Cloudflare CDN 之后速度往往比直连还慢,因为默认分配给你的 IP 大概率离你远。这篇讲清楚优选 IP 与优选域名的原理和实操,再用 Cloudflare Tunnel 把内网服务零端口暴露到公网。

#Cloudflare#Tunnel#CDN
≈ 12 分钟
[Linux 与系统]

小内存服务器运行 Halo:OOM 排查、JVM 预算与 Swap 边界

小内存服务器同时运行 Halo、数据库、反向代理和面板时,某个进程的占用上升就可能挤压其他服务。应先定位退出原因,再为各进程分配预算,最后用请求延迟和内存压力验证调整效果。本文将原有几篇零散笔记合并为排查方法;现有材料缺少原始事故日志,文中参数和现象均不作为实测结果。

#Halo#OOM#JVM
≈ 3 分钟
[部署与运维]

对象存储与图床:选型、R2 自建与配置

出站流量决定了图床账单,选型要先看场景。本文按 1TB 总成本横评主流厂商,再落地 Cloudflare R2 自建图床,最后用 PicGo / PicList 配好本地上传。

#对象存储#图床#CloudflareR2
≈ 15 分钟
[Linux 与系统]

systemd 服务管理与日志排查:配置、启动语义与故障定位

后台进程需要有人负责启动、停止、收集日志和处理异常退出。systemd 的 service unit 声明这些规则。排障时要区分 unit 配置是否加载、进程是否存活,以及业务是否已经可用。

#systemd#服务管理#日志
≈ 7 分钟