背景 正常来说,修改版本号使用mvn versions:set -DnewVersion=1.2.3-SNAPSHOT命令即可,不过貌似本地环境有问题,使用命令一直失败,所以想着搞一个通用的、不依赖maven的脚本。 脚本 完整脚本如下: #!/bin/bash NEW_VERSION="1.2.3-SNAP […]
背景 正常来说,修改版本号使用mvn versions:set -DnewVersion=1.2.3-SNAPSHOT命令即可,不过貌似本地环境有问题,使用命令一直失败,所以想着搞一个通用的、不依赖maven的脚本。 脚本 完整脚本如下: #!/bin/bash NEW_VERSION="1.2.3-SNAP […]
上午正在快乐的写着bug,提交的时候突然发现提交失败。 什么情况?莫非组织抛弃了我? 联系运维,反馈说购买的三方的代码仓库,对方的服务出现了问题。 听到这里长出了一口气,原来组织并没有抛弃我。 打开三方的网页,发现能正常访问,不过页面最上方出现一行提示: Bitbucket is experiencing an inc […]
最近发现服务器的负载一直居高不下,但实际上网站的流量并没有那么高,一开始以为是预加载缓存的原因导致的,结果把缓存预加载都停了之后还是没有什么改善。 后来想到可以查看下nginx日志看下到底有没有流量进来。 不看不知道,一看吓一跳,一堆蜘蛛爬虫一刻不停的在爬…… 既然是爬虫,那我加一下robots.txt是不是就好了? […]
WireGuard是什么? 维基百科是这样描述的: WireGuard是一种实现加密虚拟专用网络(VPN) 的通信协议和免费开源软件,其设计目标是易于使用、高速性能和低攻击面; 它旨在比IPsec和OpenVPN这两种常见的隧道协议具有更好的性能和更强大的功能;WireGuard 协议通过UDP传递流量。 通过描述,我 […]
最近有一个需求,系统要根据启动参数加载不同权限的数据源,代码就位之后,开启了自测。 刚开始测的是默认场景下数据源加载情况,这个时候一切正常。 后来开始测试特定场景下的case,这个时候出现问题了,发现数据源并没有按照我想要的情况加载。第一时间就想到了是不是启动参数读取的问题。 排查了下发现还真是启动参数读取有问题,没有 […]
在JVM(Java虚拟机)参数中,-D 是一个非常重要的选项,用于在启动Java程序时设置系统属性(System Properties)。这些属性可以在程序中通过 System.getProperty() 方法访问,主要用于动态配置应用行为、传递环境变量或自定义参数。 一、核心作用 -D 的作用是在JVM启动时设置系统 […]
一、核心区别 维度 spring.factories AutoConfiguration.imports 文件路径 META-INF/spring.factories META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imp […]
在云计算中,应用型负载均衡(ALB)和网络型负载均衡(NLB)是两种核心的负载均衡方案,主要区别在于工作层级、协议支持、路由能力及适用场景。以下是具体对比: 一、核心区别 维度 应用型负载均衡(ALB) 网络型负载均衡(NLB) 工作层级 OSI 第7层(应用层),处理HTTP/HTTPS/QUIC/gRPC等协议 O […]
Helm 是 Kubernetes 的包管理工具,用于简化复杂应用的部署、升级和回滚操作。类比于 Linux 中的 apt 或 yum,Helm 让你可以将多个 Kubernetes 资源(如 Deployment、Service、ConfigMap 等)打包成一个 Chart,实现应用的一键部署与管理。 一、核心概念 […]
TransmittableThreadLocal(TTL)是阿里巴巴开源的一个 Java 库,用于解决 线程池环境下 ThreadLocal 上下文丢失 的问题。它是 InheritableThreadLocal 的增强版,特别适用于异步编程、分布式系统等场景。以下是详细解析: 一、核心问题:为什么需要 Transmi […]
一、核心设计思想 1. 可重入性(Reentrancy) 定义:同一线程可多次获取同一把锁,通过计数器记录持有次数,释放时需完全解锁(计数器归零)。 示例代码: ReentrantLock lock = new ReentrantLock(); lock.lock(); try { lock.lock(); // 可重 […]
1、Redisson和RedisTemplate的什么区别 一、功能方面: Redisson: 提供了丰富的分布式数据结构和服务,例如分布式锁、分布式集合(包括分布式列表、集合、映射、队列、阻塞队列、双端队列、优先队列等)、分布式对象(如分布式对象、原子数、位图等)以及分布式服务(如分布式远程服务、分布式调度服务、分布 […]
Spring Boot 提供了大量注解用于简化配置和开发,以下是核心常用注解分类及实战用法: 一、Bean 相关注解 1. @Component 作用:标识普通组件,被 Spring 容器自动扫描注册为 Bean。 场景:通用层(工具类、非 MVC 组件)。 @Component public class MyUtil […]
一、前言 在现代应用开发中,多线程与异步编程是提升系统性能的常用手段。例如,用户抽奖后异步发送push通知,或并行处理互不依赖的业务逻辑(将顺序执行的耗时 A+B+C 优化为并行的 Max(A,B,C))。此时,CompletableFuture 因简洁的API和强大的组合能力成为许多开发者的首选。然而,看似便捷的背后 […]
在金融级应用场景中,JVM 深度调优对于保障系统的高性能、低延迟和高稳定性至关重要。以下是一些实战经验和技巧: 1. 调优前的全面评估与监控 明确业务需求与性能指标 了解金融业务的高峰低谷时段、交易量预期、响应时间要求等。例如,证券交易系统在开盘和收盘时段交易量大,要求系统响应时间在毫秒级;而银行的批量账务处理可能更注 […]
娉娉袅袅十三余,豆蔻梢头二月初。
春风十里扬州路,卷上珠帘总不如。