一、OSI模型概述 OSI(Open System Interconnection)模型由国际标准化组织(ISO)于1984年提出,是计算机网络通信的标准化参考模型。它将网络通信分为7个层次,从下到上依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每层负责不同的功能,层间通过接口交互,实现数据的封装与 […]
一、OSI模型概述 OSI(Open System Interconnection)模型由国际标准化组织(ISO)于1984年提出,是计算机网络通信的标准化参考模型。它将网络通信分为7个层次,从下到上依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每层负责不同的功能,层间通过接口交互,实现数据的封装与 […]
QUIC(Quick UDP Internet Connections)是由 Google 开发的基于 UDP 的传输层协议,旨在提供比 TCP 更高效、更低延迟的网络通信。它在 HTTP/3 中被广泛应用,特别适合实现长连接场景(如实时数据传输、流媒体、游戏等)。 优势 一、跨地域网络下的连接建立效率提升 1. 减少 […]
WireGuard是什么? 维基百科是这样描述的: WireGuard是一种实现加密虚拟专用网络(VPN) 的通信协议和免费开源软件,其设计目标是易于使用、高速性能和低攻击面; 它旨在比IPsec和OpenVPN这两种常见的隧道协议具有更好的性能和更强大的功能;WireGuard 协议通过UDP传递流量。 通过描述,我 […]
最近有一个需求,系统要根据启动参数加载不同权限的数据源,代码就位之后,开启了自测。 刚开始测的是默认场景下数据源加载情况,这个时候一切正常。 后来开始测试特定场景下的case,这个时候出现问题了,发现数据源并没有按照我想要的情况加载。第一时间就想到了是不是启动参数读取的问题。 排查了下发现还真是启动参数读取有问题,没有 […]
在JVM(Java虚拟机)参数中,-D 是一个非常重要的选项,用于在启动Java程序时设置系统属性(System Properties)。这些属性可以在程序中通过 System.getProperty() 方法访问,主要用于动态配置应用行为、传递环境变量或自定义参数。 一、核心作用 -D 的作用是在JVM启动时设置系统 […]
一直觉得网站的字体在Windows和Mac设备上显示的不一样,想着统一一下,结果一直没找到合适的字体。 昨天发现小米官方的MiSans可以免费商用,Mac系统下看起来还不错,并且官方还有免费的CDN给用,很是心动,可惜换上之后,不知道是设置原因还是什么,发现在Windows系统下的显示还是差点儿意思。 不过,既然小米手 […]
一、核心区别 维度 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. 调优前的全面评估与监控 明确业务需求与性能指标 了解金融业务的高峰低谷时段、交易量预期、响应时间要求等。例如,证券交易系统在开盘和收盘时段交易量大,要求系统响应时间在毫秒级;而银行的批量账务处理可能更注 […]
黄沙百战穿金甲,不破楼兰终不还。