- 博客(10)
- 收藏
- 关注
原创 解耦的艺术:从 Java Metaspace 到计算机世界的中间层
技术中间层屏蔽了什么带来的优势句柄句柄表对象地址变化安全、灵活内存管理非聚集索引索引结构数据物理存储位置快速查找、解耦ZooKeeper服务注册中心服务节点变动动态服务发现、高可用NAT地址映射表内网拓扑变化安全、IP复用中间层抽象是一种强大的设计思想。无论是 Java 内存管理、操作系统、数据库还是分布式系统,只要存在两个模块之间耦合过紧的问题,引入中间层往往能优雅地解决。
2025-06-26 10:27:47
967
原创 Windows 下 Kafka 安装教程(保姆级)
Kafka 是基于 Java 的,必须先安装 JDK。一般学到kafka的同学肯定已经安装好了JDK了,这一步我就不写了,具体可以参考其他文章。⚠️ 不要直接关闭 CMD 窗口也不要ctrl + c,都是强制关机!虽然 Kafka 是为 Linux 设计的,但官方提供了部分 Windows 兼容脚本(位于。第一步:一定要需要建立一个空文件夹kafka-logs在bin、config同级!这个文件主要是存放分区的offerset,元文件,记录消费到哪里等等。一定要使用官方的启动和关闭脚本!
2025-06-08 21:40:25
2135
原创 MongoDB 的高可用与水平扩展 —— 复制集群 vs 分片集群
项目MONGODBMYSQL默认支持水平扩展✅ 是,通过分片(Sharding)❌ 否,需借助中间件默认支持高可用✅ 是,通过副本集(Replica Set)✅ 是,通过主从复制水平扩展 + 高可用结合度✅ 天然结合,架构统一⚠️ 需额外配置,复杂度高开发友好度✅ 对应用透明,改连接即可❌ 应用层逻辑复杂,容易出错运维难度✅ 官方集成好,部署简单⚠️ 配置复杂,依赖组件多适用场景非结构化/半结构化数据、大数据、高并发结构化数据、事务强一致性、中小规模MongoDB 通过“
2025-06-07 20:45:02
580
原创 Java 泛型详解
泛型(Generics)是 JDK 5 引入的一项重要特性,旨在增强代码的可读性、类型安全性和复用性。使用泛型后,编译器可以在编译阶段对传入的参数进行类型检查,避免运行时因类型不匹配导致的错误。// ✅ 合法// ❌ 编译错误!📌关键点泛型确保了集合只能存储指定类型的对象如果试图添加不符合泛型类型的对象,编译器会直接报错这不是运行时报错,而是编译期就能发现的错误。
2025-06-04 15:38:52
399
原创 使用阿里云轻量服务器 + Docker 部署 Spring Boot 项目实战指南
Docker 安装配置MySQL、Redis、Nginx、Spring Boot 应用的部署常用参数说明与问题排查技巧安全性与灵活性优化建议📌扩展阅读Docker 官方文档Docker Compose 实战教程。
2025-05-07 14:08:06
1508
原创 Redis 与 Netty 的 Reactor 模式对比:从 IO 复用到线程模型
Reactor 模式是一种广泛用于高并发服务器的事件处理架构。其核心思想是通过一个或多个事件循环(Event Loop)监听并分发 I/O 事件,从而避免阻塞等待,提高系统资源利用率。Redis 和 Netty 均采用该模式,利用操作系统的IO 多路复用机制(如 Linux 的epoll或 BSD 的kqueue)实现高效的事件监听与响应。单线程模型:Redis 采用单线程模型处理客户端请求(尽管在 Redis 6.0 及之后版本中引入了多线程 I/O 处理,但命令执行仍然是单线程的)。
2025-05-06 14:41:57
985
原创 写时复制(Copy-on-Write, CoW) vs 浅拷贝 vs 深拷贝
写时复制(Copy-on-Write,简称 CoW)是一种延迟拷贝的优化策略。“读时不复制,写时才复制。也就是说,当多个进程或对象共享同一份数据时,并不会立即进行物理内存的复制。只有当其中一个进程真正要修改数据时,才会触发一次真正的复制操作。这种方式既节省了资源,又提升了性能,广泛应用于现代系统中。写时复制-图源小林coding。
2025-05-05 17:26:52
1166
原创 云服务器部署某点评:远程云服务器连接本地Mysql(玩具尝试)
可能遇到的问题Q1:连接不上。1.ssh -i ~/.ssh/cloud_mysql root@云服务器ip 能登录但是需要输入密码2.云服务器连接不上本地mysqlA:阿里云默认不允许密钥认证。私钥文件权限问题,SSH 对私钥文件的权限要求非常严格。如果私钥文件的权限设置不正确,SSH 客户端会拒绝使用它。
2025-04-26 17:12:01
969
原创 分布式锁 Redission
hash结构:锁的名字key :: 第一个获取锁的threadID :: 重入次数value;// trylock参数:1.获取锁的最大等待时间、2.锁自动释放时间,3.单位。,原子性锁定多个资源(如订单+库存+优惠券),保证这些资源的操作要么全部成功,要么全部失败。:在 Redis 主从架构中,防止主节点宕机后锁信息丢失(从节点可能未同步锁数据)。// 只有三个锁都成功才算加锁成功。集群模式下,锁的键可能分布在不同的分片,无法保证全局一致性。:要求多数节点(N/2 + 1)加锁成功才算真正获取锁。
2025-04-26 11:00:47
970
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人