文章 2024-05-14 来自:开发者社区

Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(下)

Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(中):https://developer.aliyun.com/article/1508243 事件类型 ae.h中定义了IO多路复用程序所监听的两类事件,AE_READABLE和AE_WEUTABLE: ·READABLE事件,当套接字可读(客户端write或close或新的可应答套接字)时产生; ...

Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(下)
文章 2024-05-14 来自:开发者社区

Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(中)

Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(上):https://developer.aliyun.com/article/1508231 持久化 为了避免因服务器宕机或错误造成数据严重丢失的问题,Redis提供了两种持久化(即将数据保存至磁盘)的方式,分别是RDB和AOF。 RDB持久化 RDB持久化是将当前数据库状态生成快照,即一个二进制文件...

Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(中)
文章 2024-05-14 来自:开发者社区

Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(上)

四、数据库实现 在Redis中,服务器中所有的数据库都保存在redis.h/redisServer结构中的db数组中: struct redisServer { // …… // 保存服务器中所有的数据库 redisDb *db; //…… ...

Redis源码、面试指南(4)单机数据库、持久化、通知与订阅(上)
文章 2024-05-14 来自:开发者社区

Redis源码、面试指南(3)数据对象类型编码(下)

Redis源码、面试指南(3)数据对象类型编码(上):https://developer.aliyun.com/article/1508229 哈希对象 源码文件t_hash.c。 编码是ziplist或者hashtable。 ziplist编码,底层是压缩列表,有两个条件,哈希对象保存的所有键值对的键和值的字符串长度都小于 64 字节;哈希对象保存的...

Redis源码、面试指南(3)数据对象类型编码(下)
文章 2024-05-14 来自:开发者社区

Redis源码、面试指南(3)数据对象类型编码(上)

三、数据类型的实现 在前面,我们陆续介绍了 Redis 用到的所有主要数据结构。 Redis 并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型的对象。 对象类型及编码 源码文件:object.c 每次当我们在Redis的数据库中新创建一个键值对...

Redis源码、面试指南(3)数据对象类型编码(上)
文章 2024-05-14 来自:开发者社区

Redis源码、面试指南(2)内存编码数据结构(下)

Redis源码、面试指南(2)内存编码数据结构(上):https://developer.aliyun.com/article/1508225 节点细节 由上文节点定义代码可知,压缩节点信息可以分为三个部分:previous_entry_length,encoding,content,如下图: ...

Redis源码、面试指南(2)内存编码数据结构(下)
文章 2024-05-14 来自:开发者社区

Redis源码、面试指南(2)内存编码数据结构(上)

内存编码数据结构的实现 这一部分主要介绍Redis特制的内存编码数据结构,建议结合图像来理解。 整数集合 源码:intset.h和intset.c。 整数集合(intset)是集合键的底层实现之一: 当一个集合只包含整数值元素,并且这个集合的元素数量(见后)不多时,Redis就会使用整数集合作为集合键的底层实现。 结构定义 ...

Redis源码、面试指南(2)内存编码数据结构(上)
文章 2024-05-12 来自:开发者社区

Spring Boot 源码面试知识点

Spring Boot 是一个强大且广泛使用的框架,旨在简化 Spring 应用程序的开发过程。深入了解 Spring Boot 的源码,有助于开发者更好地使用和定制这个框架。以下是一些关键的知识点: 1. 自动配置(Auto Configuration) 概念 Spring Boot 的自动配置机制基于条件注解(@Conditional)和配置类(@Configurat...

文章 2024-04-24 来自:开发者社区

Java面试必考题之线程的生命周期,结合源码,透彻讲解!

写在开头 在前面的几篇博客里,我们学习了Java的多线程,包括线程的作用、创建方式、重要性等,那么今天我们就要正式踏入线程,去学习更加深层次的知识点了。 第一个需要学的就是线程的生命周期,也可以将之理解为线程的几种状态,以及互相之间的切换,这几乎是Java多线程的面试必考题,每一年都有...

Java面试必考题之线程的生命周期,结合源码,透彻讲解!
文章 2024-04-08 来自:开发者社区

面试题:用过ThreadLocal吗?ThreadLocal是在哪个包下的?看过ThreadLocal源码吗?讲一下ThreadLocal的get和put是怎么实现的?

面试题:用过ThreadLocal吗?ThreadLocal是在哪个包下的?看过ThreadLocal源码吗?讲一下ThreadLocal的get和put是怎么实现的? 介绍ThreadLocal ThreadLocal是Java中的一个线程封闭工具,允许线程在其范围内创建一个本地变...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

Java面试那些事儿

手把手带您学习Java,开启编程之路。

+关注