logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

一文吃透 Redis 压缩列表、listpack 及哈希表扩容与并发查询

Redis采用多种数据结构优化内存使用和性能。压缩列表(ziplist)通过头部字段快速定位尾节点(O(1)),但插入可能引发连锁更新。其改进版listpack取消prevlen属性,通过encoding+len实现倒序遍历,彻底解决连锁更新问题。哈希表采用渐进式扩容:创建新表后分批次迁移数据,期间读请求会同时查询新旧表,写操作只在新表执行,避免阻塞服务。这种设计在保证内存效率的同时,兼顾了Red

文章图片
#redis#散列表#数据库
RabbitMQ安装教程:windows本地安装和docker部署

RabbitMQ环境搭建指南(本地+Docker) 本文提供两种RabbitMQ安装方式: 本地安装:需先安装Erlang运行环境,再下载RabbitMQ并配置环境变量 Docker安装:直接拉取rabbitmq:management镜像,通过docker run命令启动容器,自动包含Erlang环境,支持端口映射(5672/15672)和数据持久化 两种方式均可通过访问localhost:156

文章图片
#rabbitmq#分布式#java +1
Java 并发编程全解:锁、并发容器、阻塞队列与异步编程

Java并发编程核心组件深度解析 本文系统梳理了Java并发编程的四大核心模块:1)ReentrantLock显式锁机制,详解其可重入、可中断、公平锁等特性及AQS实现原理;2)ConcurrentHashMap的架构演进,从JDK7分段锁到JDK8的CAS+synchronized优化;3)BlockingQueue阻塞队列体系,分析Array/Linked/Synchronous/DelayQ

文章图片
Java 基础核心八股文:特性、JVM 体系与基础概念解析

本文系统梳理了Java的核心知识点:1)Java特性:跨平台性(JVM实现)、严格面向对象、自动内存管理;2)优势包括强大的生态系统、高并发支持、安全性,劣势体现在性能开销和语法繁琐;3)JVM/JDK/JRE关系:JDK包含JRE,JRE包含JVM;4)参数传递机制:Java均为值传递,基础类型和引用类型存在差异;5)与Python对比:Java是编译型语言,Python是解释型语言。这些知识点

文章图片
#java#开发语言
Java 线程核心操作:创建、启动与安全停止全解析

记录了线程的创建、启动线程、停止线程的方法、还有补充中断相关的定义

文章图片
#java
吃透 Java 线程状态:阻塞 VS 等待,notify 与 notifyAll 的本质区别

摘要:阻塞和等待的主要区别在于触发和唤醒方式。阻塞是争抢锁失败后被动触发,等待是人为主动触发(如wait())。阻塞由持锁线程结束自动唤醒,等待需特定方法唤醒(如notify())。notify唤醒一个线程,notifyAll唤醒所有线程竞争锁,唤醒顺序通常遵循先入先出原则。synchronized代码块中,wait()释放锁,notify()/notifyAll()在同步块内唤醒线程。唤醒机制依

文章图片
#java#开发语言
一文读懂 Redis 集群:从哈希槽到透明访问

Redis集群模式采用哈希槽分片机制,将16384个哈希槽分配到不同节点,通过CRC16算法计算key的槽位实现数据分布。其优点包括高性能、高可用性和强扩展性,支持主从同步和节点动态增减。缺点在于部署维护复杂、数据同步延迟以及跨节点操作受限。客户端通过缓存槽位映射表定位数据,节点变更时通过重定向命令更新映射,实现透明访问。该方案有效分散单节点压力,但需注意数据一致性和运维复杂度问题。

文章图片
#redis#缓存#java +3
面试必问:Redis 过期删除与内存淘汰策略,看完这篇就够了

Redis采用惰性删除+定期删除策略管理过期键值:访问时检查过期并删除(惰性删除),同时定期随机抽查20个key删除过期数据(超过25%过期则继续抽查)。内存淘汰策略在内存不足时触发,分为不淘汰(报错)和淘汰策略(随机/LRU/LFU等)。32位系统最大支持3GB内存。两种策略的区别在于:过期删除针对已过期数据,内存淘汰针对内存不足时的数据清理。不过期立即删除是为了避免大量删除操作占用CPU资源,

文章图片
#java#数据库#开发语言 +2
吃透 Java 类加载:双亲委派模型到底是什么?

文章摘要: Java双亲委派模型是一种类加载机制,通过自底向上委派(从自定义加载器到启动类加载器)和自顶向下加载的方式工作。其核心作用包括:确保类唯一性(防止重复加载)、保障安全性(阻止恶意篡改核心类)、支持层次化隔离以及提高加载效率。类加载过程分为加载(获取字节流生成Class对象)、连接(验证-准备-解析)和初始化(执行静态代码)三个阶段。双亲委派原则要求类加载器优先委托父加载器完成任务,仅当

文章图片
#java#开发语言#后端
Java GC 面试必问三件套

Java的GC机制通过可达性分析算法判断对象是否可回收,主要采用标记-清除、标记-整理和复制算法。JVM分代管理内存:新生代使用复制算法(Eden区和Survivor区),老年代使用标记-清除或标记-整理。常见回收器包括单线程的SerialGC、多线程的ParallelGC、低延迟的CMS,以及分区域的G1,新出的ZGC和Shenandoah则追求微秒级停顿。GC机制自动管理内存,在减少内存碎片和

文章图片
#算法#缓存#面试
    共 53 条
  • 1
  • 2
  • 3
  • 6
  • 请选择