
技术干货
文章平均质量分 76
技术干货,实践过程中遇到的常见问题,以及对应的解决方案
二六八
山僧不解数甲子,一叶落知天下秋
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
零拷贝应用场景
大部分场景下,在Netty接收和发送ByteBuffer的过程中会使用直接内存进行Socket通道读写,使用JVM的堆内存进行业务处理,会涉及直接内存、堆内存之间的数据复制。内存的数据复制其实是效率非常低的,Netty提供了多种方法,以帮助应用程序减少内存的复制。Netty中的零拷贝和操作系统层面上的零拷贝是有区别的,不能混淆,我们所说的Netty零拷贝完全是基于Java层面或者说用户空间的,它更多的是偏向于应用中的数据操作优化,而不是系统层面的操作优化。原创 2025-07-26 19:44:30 · 977 阅读 · 0 评论 -
Nacos 一致性协议 Distro协议
Distro 协议是 Nacos 社区自研的一种 AP 分布式协议,是面向临时实例设计的一种分布式协议,其保证了在某些 Nacos 节点宕机后,整个临时实例处理系统依旧可以正常工作。作为一种有状态的中间件应用的内嵌协议,Distro 保证了各个 Nacos 节点对于海量注册请求的统一协调和存储。原创 2025-07-25 17:45:02 · 1087 阅读 · 0 评论 -
Nacos 的一致性模型 AP 和 CP
Nacos 是阿里巴巴开源的一个动态服务发现、配置管理和服务管理平台。它的全称是 Naming and Configuration Service,旨在帮助开发者更轻松地构建、交付和管理微服务应用。服务发现:支持服务的注册和发现,确保服务之间的通信高效且可靠。动态配置:支持动态配置管理,允许在不重启服务的情况下更新配置。服务管理:提供服务实例的健康检查、负载均衡和故障转移等功能。原创 2025-07-17 16:48:32 · 874 阅读 · 0 评论 -
高并发四种IO模型的底层原理
为了避免用户进程直接操作内核,保证内核安全,操作系统将内存(虚拟内存)划分为两部分:一部分是内核空间(Kernel-Space),另一部分是用户空间(User-Space)。在Linux系统中,内核模块运行在内核空间,对应的进程处于内核态;用户程序运行在用户空间,对应的进程处于用户态。操作系统的核心是内核程序,它独立于普通的应用程序,既有权限访问受保护的内核空间,也有权限访问硬件设备,而普通的应用程序并没有这样的权限。内核空间总是驻留在内存中,是为操作系统的内核保留的。原创 2025-07-15 23:19:52 · 1039 阅读 · 0 评论 -
LRU算法原理及实现,最近最少使用算法
LRU算法原理及实现,最近最少使用算法原创 2025-07-05 17:30:49 · 781 阅读 · 0 评论 -
数据结构,跳跃表的实现原理和适用场景
数据结构,跳跃表的实现原理和适用场景原创 2025-07-05 15:29:50 · 856 阅读 · 0 评论 -
Redis 持久化
RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。命令有那么只要满足以下三个条件中的任意一个,BGSAVE。原创 2025-06-26 23:02:00 · 332 阅读 · 0 评论 -
Redis 为什么选用跳跃表,而不是红黑树
一般来说,平衡树每个节点包含2个指针(分别指向左右子树),而skiplist每个节点包含的指针数目平均为1/(1-p),具体取决于参数p的大小。而哈希表在保持较低的哈希值冲突概率的前提下,查找时间复杂度接近O(1),性能更高一些。Redis只在两个地方用到了跳跃表,一个是实现有序集合键(zset),另一个是在集群节点中用作内部数据结构,除此之外,跳表在Redis里面没有其他用途。2)平衡树的插入和删除操作可能引发子树的调整,逻辑复杂,而skiplist的插入和删除只需要修改相邻节点的指针,操作简单又快速。原创 2025-06-26 23:01:00 · 243 阅读 · 0 评论 -
Redis 缓存穿透、雪崩、击穿
缓存穿透,是指查询一个数据库一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存。如果数据库查询对象为空,则不放进缓存。代码流程想象一下这个情况,如果传入的参数为-1,会是怎么样?这个-1,就是一定不存在的对象。就会每次都去查询数据库,而每次查询都是空,每次又都不会进行缓存。假如有恶意攻击,就可以利用这个漏洞,对数据库造成压力,甚至压垮数据库。即便是采用UUID,也是很容易找到一个不存在的KEY,进行攻击。原创 2025-06-26 22:59:17 · 286 阅读 · 0 评论 -
Redis 对象和数据结构
对象的typeTYPETYPE命令的实现方式也与此类似,当我们对一个数据库键执行TYPE。原创 2025-06-26 22:57:46 · 525 阅读 · 0 评论 -
Redis分布式锁真的就万无一失吗
Redis分布式锁真的就万无一失吗原创 2025-05-13 08:45:19 · 611 阅读 · 0 评论 -
Redis分布式锁Redlock实现
Redis分布式锁Redlock实现原创 2025-05-12 15:47:02 · 985 阅读 · 0 评论 -
分布式锁 Redis和Zookeeper
分布式锁 Redis和Zookeeper原创 2025-05-11 17:24:58 · 472 阅读 · 0 评论 -
CSV Excel乱码问题 和 BOM标记
CSV Excel乱码问题 和 BOM标记原创 2024-03-12 11:33:45 · 1106 阅读 · 0 评论 -
Java 计时器工具 TimeInterval
Java 计时器工具 TimeInterval原创 2024-03-12 11:14:49 · 956 阅读 · 0 评论 -
Docker 基本介绍
Docker 基本介绍原创 2024-02-07 10:26:49 · 2469 阅读 · 0 评论 -
Kubernetes 镜像管理
容器镜像(Image)所承载的是封装了应用程序及其所有软件依赖的二进制数据。容器镜像是可执行的软件包,可以单独运行;该软件包对所处的运行时环境具有良定(Well Defined)的假定。你通常会创建应用的容器镜像并将其推送到某仓库(Registry),然后在 Pod 中引用它。本页概要介绍容器镜像的概念。原创 2023-09-14 10:21:41 · 271 阅读 · 0 评论 -
数据结构中红黑树的原理知识
数据结构中红黑树的原理知识原创 2024-01-30 10:06:41 · 413 阅读 · 0 评论 -
数据结构 二叉搜索树
查找最大关键字元素和最小关键字元素后继和前驱。原创 2024-01-30 10:04:28 · 391 阅读 · 0 评论 -
排序算法中冒泡,插入,快速,归并几种排序的区别
排序算法中冒泡,插入,快速,归并几种排序的区别原创 2024-01-29 17:47:17 · 360 阅读 · 0 评论 -
系统性能指数
系统性能指数原创 2024-02-07 10:51:12 · 669 阅读 · 0 评论 -
Promise链式调用的应用
Promise链式调用的应用原创 2022-03-09 16:24:57 · 275 阅读 · 0 评论 -
IDEA 设置
idea 设置原创 2016-11-23 12:07:32 · 271 阅读 · 0 评论