- 博客(271)
- 资源 (1)
- 收藏
- 关注

原创 输入网址按回车,到底发生了什么
详解输入网址点击回车,后台到底发生了什么。透析 HTTP 协议与 TCP 连接之间的千丝万缕的关系。掌握为何是三次握手四次挥手?time_wait 存在的意义是什么?全面图解重点问题,再...
2020-08-31 08:48:48
379

原创 Tomcat 高并发之道原理拆解与性能调优
上帝视角拆解 Tomcat 架构设计,在了解整个组件设计思路之后。我们需要下凡深入了解每个组件的细节实现。从远到近,架构给人以宏观思维,细节展现饱满的美。关注「码哥字节」获取更多硬核,你...
2020-08-17 09:00:00
634
2

原创 Tomcat 架构原理解析到架构设计借鉴
Tomcat 架构原理解析到架构设计借鉴Tomcat 发展这么多年,已经比较成熟稳定。在如今『追新求快』的时代,Tomcat 作为 Java Web 开发必备的工具似乎变成了『熟悉的陌生人』,难道说如今就没有必要深入学习它了么?学习它我们又有什么收获呢?静下心来,细细品味经典的开源作品 。提升我们的「内功」,具体来说就是学习大牛们如何设计、架构一个中间件系统,并且让这些经验为我所用。美好的事物往往是整洁而优雅的。但这并不等于简单,而是要将复杂的系统分解成一个个小模块,并且各个模块的职责划分也要清晰
2020-07-06 18:18:49
1109
原创 重生之我用 2025 年的 InnoDB 知识在 2003 年 IT 圈打工
" 运维经理老周扯着嘶哑的嗓子,"每秒 300 次更新请求,MyISAM 根本扛不住!"我们现在用空间换时间,未来..."他顿了顿,"这些设计会让 InnoDB 统治数据库世界。38 张图详解 Redis:核心架构、发布订阅机制、9大数据类型底层原理、RDB和AOF。"但这需要更强的 CPU 和内存!"CTO 指着飙升的 CPU 曲线。林渊深吸一口气:"立即切换 InnoDB 引擎,这是最后的生路!重启后老周面色惨白:"库存数据回滚了!"这是把 IOPS 压力转嫁给 CPU!"这是典型的交叉死锁!
2025-03-31 08:30:25
211
原创 MySQL MyISAM引擎是什么?有什么致命缺陷?为何现在都不使用了?
38 张图详解 Redis:核心架构、发布订阅机制、9大数据类型底层原理、RDB和AOF 持久化、高可用架构、性能问题排查和调优。"当我启动 InnoDB 引擎时,服务器内存突然耗尽..." —— 林渊如何用 Buffer Pool 优化化解内存危机?JVM分配优化三板斧,JVM 的内存区域划分、对象内存布局、百万 QPS 优化实践。: MySQL 4.0 采用"每连接每线程"模型,线程执行完不会销毁而是进入?穿越工程师如何逆天改命》。"各位请看,"林渊点击投影,"这不是故障,而是架构级癌症。
2025-03-30 10:00:43
827
原创 MySQL:MyISAM锁表致千万损失!穿越工程师如何逆天改命
已经连续加班到 23:00 半年多才下班,现在已是亥时,push 完代码后拿出我在「拼夕夕」买的 「zippo」火机点上一支烟,看着它逐渐没有痕迹,空气中闻到一股股淡淡的味道。忽然,我只觉心里难受,胸闷气短,眼前一片黑,我想要努力的睁开眼睛,可是却什么都看不见,逐渐听不见周边的声音……我掐灭了烟头,又重新点上一支烟,沉浸在淡蓝色的烟雾中,是那么的温柔,那么的迷蒙,那么的深情。我弹落的烟灰如此的黯然,黯然如我,思绪万千。Christina,我想起你了,发信息给你的手在键盘敲很轻,我给的思念很小心。
2025-03-29 22:34:29
594
原创 Kafka 4.0 发布:KRaft 替代 Zookeeper、新一代重平衡协议、点对点消息模型、移除旧协议 API
整个通信协调机制本质上是事件驱动模型,也就是 Metadata as an Event Log,Leader 通过 KRaft 生产权威的事件,Follower 和 Broker 通过监听 KRaft 来获得这些事件,并且顺序处理事件,达到集群状态和期望的最终一致。从 Redis 的第一人称视角出发,拟人故事化方式和诙谐幽默的言语与各路“神仙”对话,配合 158 张图,由浅入深循序渐进的讲解 Redis 的数据结构实现原理、开发技巧、运维技术和高阶使用,让人轻松愉快地学习。
2025-03-26 08:29:33
745
原创 38 张图详解 Redis:核心架构、发布订阅机制、9大数据类型底层原理、RDB和AOF 持久化、高可用架构、性能问题排查和调优
String(字符串)、Hashes(散列表)、Lists(列表)、Sets(无序集合)、Sorted Sets(可根据范围查询的排序集合)、Bitmap(位图)、HyperLogLog、Geospatial (地理空间)和 Stream(流)等数据类型底层实现原理。Java 的 HashSet 底层是用 HashMap 实现,Sets 的底层数据结构也是用 Hashtable(散列表)实现,散列表的 key 存的是 Sets 集合元素的 value,散列表的 value 则指向 NULL。
2025-03-25 08:29:55
613
1
原创 拼多多二面:高并发场景扣减商品库存如何防止超卖?
大家好,我是《Redis 高手心法》作者,可以叫我靓仔。相信大家都参与过某某电商的抢购活动,那么大家有没有思考过,在高并发场景下,如何防止商品超卖?这里需要注意哪些问题?下面,让我们来一步步看下。首先,我们先看下正常的下单流程(简易版)。❝那么,针对库存扣减的场景,要如何实现呢进入正文前,介绍下我的点击查看详细介绍->《Java 面试高手心法 58 讲》专栏内容涵盖Java 基础、Ja...
2025-03-11 08:36:28
1037
原创 技术博主码哥深夜写诗:白素贞的油纸伞,能遮住现代人的遗憾吗?
大家好,我是码哥,《Redis高手心法》畅销书作者。今天不说技术,给大家分享一首诗。开篇寄语:人生并不像火车要通过每个站似的经过每一个生活阶段。标题《种忆录》种忆录谷雨猕漫着芭蕉的味道动了心成了情白素贞的姻以伞结缘可天若无雨地上无伞断桥未断过客,能留下一段传奇吗?或许难难倘若在江城边不是西湖畔你还愿这情节假设成立吗?没有油纸伞没有躲雨的屋檐我背影在前你是否,淋雨陪下去仅仅为最初的遇见你我在丽江古...
2025-03-08 11:57:10
96
原创 云原生时代的JVM调优:从被K8s暴打到优雅躺平
大家好,我是码哥,《Redis 高手心法》畅销书作者。在微服务与容器化技术主导的现代架构中,JVM 参数的配置已从传统的“经验预设”转向“动态感知”的工程化调优。尤其在 Kubernetes 等容器编排平台中,JVM 需要适应动态资源分配、高并发负载波动以及混合业务场景的复杂性。如何让 Java 应用在有限的资源约束下实现性能、稳定性与资源利用率的平衡?这需要从内存模型、编译策略到运行时环境的系统...
2025-03-05 08:39:21
958
原创 性能提升300%!JVM分配优化三板斧,JVM 的内存区域划分、对象内存布局、百万 QPS 优化实践...
大家好,我是码哥,《Redis 高手心法》畅销书作者。在 JVM 的世界中,运行时数据区域是整个虚拟机的基础,它决定了程序的内存管理、线程的执行流以及垃圾回收的核心逻辑。运行时数据区域的划分不仅体现了 JVM 的设计哲学,还在性能优化中起着至关重要的作用。今天,我们来学习下 JVM 的内存区域划分、对象内存布局、百万 QPS 优化实践。图:小豆丁技术栈进入正文前,介绍下我的点击查看详细介绍-&g...
2025-03-03 09:02:36
878
1
原创 从 12s 到 200ms,MySQL 两千万订单数据 6 种深度分页优化全解析
前言大家好,我是码哥,可以叫我靓仔,《Redis 高手心法》畅销书作者。那晚,大约晚上 11 点,我与 Chaya 在丽江的洱海酒店享受两人世界的快乐,电商平台的运维大群突然炸开了锅。监控系统发出刺耳的警报:订单查询接口响应时间从200ms 飙升到 12 秒,数据库 CPU 利用率突破 90%。发现事故根源竟是一个看似平常的查询——用户中心的历史订单分页查询。这背后隐藏的正是MySQL 深度分页的...
2025-02-24 08:20:20
538
原创 你真的懂 Redis 哨兵集群吗?一主二从三哨兵架构如何扛住百万级并发?
大家好,我是 Redis。本篇文章选自我的新书《Redis 高手心法》第三章其中一小节~通过之前的学习,你已知道 Redis 主从复制是高可用的基石,某个 slave 宕机依然可以将请求发送给 master 或者其他 slave,但是如果 master 宕机,则只能响应读操作,写请求无法再执行。所以主从复制架构面临一个严峻问题:master 宕机,无法执行写操作,无法自动选择将一个 slave 切...
2025-02-20 08:22:49
700
原创 腾讯元宝、微信 + DeepSeek = 下一代搜索革命?
大家好,我是码哥字节,可以叫我靓仔,《Redis 高手心法》的作者。DeepSeek 想必大家都知道了,春节期间爆火,日活 1500 万。七天下载量破亿,日下载全球第一!DeepSeek 在上个月发布了 R1 版本,在美国 AIME 2024 测试中 R1 拿下 79.8 分,超过了 OpenAI 的 o1 模型的 79.2 分;在 MATH-500,R1 为 97.3 分,同样超过了 o1 的 ...
2025-02-17 08:31:02
1054
原创 找工作三个月面试 20 家,一份offer都没收到,怎么办?
大家好,我是码哥,《Redis 高手心法》作者、InfoQ 签约作者、51CTO Top 红人。曾经干的不爽了就跳槽,还能加薪,起步 30% 涨幅,好不快活!现在的互联网行情寒潮想必大家都体会到了。公司降薪、年终奖年包变成诈骗的也数不胜数,而绝大多数的我们也只能忍气吞声的苟着。因为外面的招聘变少了,即使有招聘,难度属于地狱级别。除了运气好以外,没有一点真材实料的技术和面试技巧,真的只会翻车!我们平...
2025-02-16 21:57:24
701
原创 MySQL是什么?它的架构是怎样的?假如让你重新设计,你要怎么做?
我叫萧剑臣,今年 34 岁,2024 年快接近尾声,在一线城市「浅圳」打拼,在一家名叫「网讯」的互联网大厂工作,是一名资深后端架构师。已经连续加班到 23:00 半年多才下班,现在已是亥时,push 完代码后拿出我在「拼夕夕」买的 「zippo」火机点上一支烟,看着它逐渐没有痕迹,空气中闻到一股股淡淡的味道。我弹落的烟灰如此的黯然,黯然如我,思绪万千。我闭上眼睛就是天黑,一种撕裂的感觉。我掐灭了烟...
2025-02-11 08:36:42
856
原创 DeepSeek 出世,压力给到微信公众号的 AI 智能体
靓仔们好久不见,我是码哥,《Redis 高手心法》作者。前几天,码哥收到了公众号后台的通知:邀请开通微信公众号 AI 智能回复。当时,码哥正在拥抱硬核技术和对象。看到这个消息,我只迟疑片刻,选择先拥抱技术,再拥抱我的对象 Chaya。这是微信公众号原生 AI 智能体,不正是我一直期待的么!在这之前,想让公众号对接 AI,只能对接字节的 coze 开放平台,亦或是腾讯的元器开放平台。使用第三方平台的...
2025-02-10 14:30:34
754
原创 微信亲自下场,我的公众号有 AI 智能体了!Ta 真的很懂我
靓仔们好久不见,我是码哥,《Redis 高手心法》作者。前几天,码哥收到了公众号后台的通知:邀请开通微信公众号 AI 智能回复。当时,码哥正在拥抱硬核技术和对象。看到这个消息,我只迟疑片刻,选择先拥抱技术,再拥抱我的对象 Chaya。这是微信公众号原生 AI 智能体,不正是我一直期待的么!在这之前,想让公众号对接 AI,只能对接字节的 coze 开放平台,亦或是腾讯的元器开放平台。使用第三方平台的...
2025-01-25 17:37:59
1072
原创 小红书抗住高并发的背后:Redis 7.0 性能必杀技之 I/O 多线程模型
大家好,我是码哥,《Redis 高手心法》作者。本书获得前阿里 P9 级资深技术专家李运华的推荐。进入正文......在《Redis 为什么这么快》这篇文章中,我们已经知道 Redis 使用全局 dict 字典表 + 内存数据库 + 丰富高效的数据结构 + 单线程模型 + I/O 多路复用事件驱动框架使得 Redis 快到飞起。Redis 的网络 I/O 以及键值对指令读写是由单个线程来执行的,避...
2025-01-20 08:30:44
604
原创 京东二面:Redis 为什么这么快?我说是纯内存操作,他对我笑了笑......
我是码哥,《Redis 高手心法》作者,可以叫我靓仔。本文将深入探讨 Redis 为什么快的底层原理,主要从高效的内存数据结构、单线程模型、I/O 多路复用,持久化技术的取舍等多角度探讨。Redis 的性能强大主要有以下原因。◎ 基于内存实现。◎ 使用 I/O 多路复用模型。◎ 单线程模型。◎ 6.0 推出 I/O 多线程模型。◎ 高效的底层数据结构。◎ 全局散列表。Re...
2025-01-14 08:31:31
907
原创 微服务架构中的服务注册与发现有哪些?Zookeeper、Eureka、Nacos、Consul 都有什么区别,实现原理是什么?...
“大家好,我是码哥,《Redis 高手心法》作者,本章节选自《Java 面试高手心法 58 讲》专栏。随着单体应用的拆分,我们面临的首要问题就是采用哪种方式实现服务间的调用,像之前单体应用可能直接在配置或数据库保存调用方的域名 IP 信息等。但拆分后服务实例信息众多,且随着服务动态扩缩容,服务运行时信息一直变化,那么我们就需引入注册中心帮助我们解决这类问题了。今天我们来聊一聊微服务架构中的服务注册...
2025-01-09 08:31:31
660
原创 我的 2024 盘点来了 | 愿你我闯过人生的每一道关
大家好,见字如面,我是码哥,《Redis 高手心法》作者,可以叫我靓仔。2024 已经过去,2025 新的一年到来,在此祝大家新年快乐,立下的 flag 可以完成。一年过去了,这几天总想着写点文字来回顾自己这一年的收获与得失,也希望我的经历能给你带来一些思考,欢迎你在留言区聊聊新的一年你的愿望,一起努力。花有重开日,人无再少年。每个人在不同的人生阶段对这句话都有不同的感悟。关于码哥读者朋友们都是因...
2025-01-01 23:05:31
956
原创 Redis Sets 使用场景有哪些?如何实现共同好友?
Redis Sets 是什么?Sets 的功能类似 Java 中的 HashSet,是通过散列表实现的,所以添加、删除、查找元素的时间复杂度是 O(1)。Sets 是字符串类型的无序集合,集合中的元素是唯一的,不会出现重复的数据。Java 的 HashSet 底层是用 HashMap 实现的,Sets 的底层数据结构是用散列表实现的,散列表的 key 存储的是 Sets 中元素的 value,散列...
2024-12-30 08:30:41
785
原创 从原理到实践,深入浅出 JVM 类加载性能调优
大家好,我是码哥,好久不见。今天继续聊聊《干翻 JVM 系列》的第八篇《从原理到实践,深入浅出 JVM 类加载性能调优》。在 Java 应用中,类加载的性能问题 是影响系统启动速度、内存使用和模块稳定性的重要因素。我将以简单明了的语言和丰富的案例介绍如何优化类加载的性能。这不仅能提升程序的响应速度,还能让系统更加稳定健壮。减少不必要的类加载启动时间调优是指通过减少类的加载数量或优化类加载过程,缩短...
2024-12-12 09:00:12
1109
原创 小米二面:JVM 触发类加载的条件有哪些?我说 new 的时候加载,然后他对我笑了笑.........
大家好,我是码哥,《Redis 高手心法》作者。Java 虚拟机(JVM)中,类的加载并不是随意发生的,而是由特定的触发条件决定的。什么时候加载?什么时候初始化?这是我们必须要搞清楚的问题,尤其在复杂的应用中,弄懂类加载的时机能帮助我们避免一些潜在的性能问题和运行时错误。在本节中,我们将详细探讨类加载的时机、主动和被动引用的区别,以及常见的类加载触发条件。在进入正文前,介绍下我的《Java 面试高...
2024-12-05 08:56:56
1101
原创 JVM 类加载器有哪些?双亲委派机制的作用是什么?如何自定义类加载器?
类加载器分类大家好,我是码哥,可以叫我靓仔,《Redis 高手心法》畅销书作者。先回顾下,在 Java 中,类的初始化分为几个阶段: 加载、链接(包括验证、准备和解析)和 初始化。而 类加载器(Class Loader)则是加载阶段中,负责将本地或网络中的指定类的二进制流,加载到 Java 虚拟机中的工具。在进入正文前,介绍下我的《Java 面试高手心法 58 讲》专栏,帮助你在现在就业压力巨大的...
2024-12-04 09:00:40
1056
原创 面试提问:JVM 垃圾回收算法有哪些?CMS、G1、ParNew、Serial、Parallel 原理是什么?...
大家好,我是码哥,《Redis 高手心法》畅销书作者。在 Java 的世界里,垃圾回收(Garbage Collection,GC)就像一位默默奉献的清洁工,负责清理那些不再被需要的对象。没有 GC,我们的程序内存迟早会被耗尽。但 GC 的运作并非无代价,不合适的垃圾回收策略可能导致高延迟甚至性能瓶颈。本章将带你深入理解 JVM 的垃圾回收机制,从垃圾回收算法到收集器设计,再到 GC 日志分析与调...
2024-12-03 09:01:15
763
原创 JVM 为什么需要类加载机制?深入浅出 JVM 类加载原理
类加载机制是什么?大家好,我是码哥,《Redis 高手心法》作者、InfoQ 签约作者、51CTO Top 红人。在 Java 中,类加载机制是 Java 虚拟机(JVM)将 .class 文件加载到内存并转化为可以运行的 Class 对象的过程。简单来说,类加载机制是让“代码变为现实”的第一步!你可能会问,为什么需要类加载机制? 因为 Java 是一门 动态语言,类可以在运行时加载、链接和初始化...
2024-12-02 09:00:59
1060
原创 Java 对象到底是如何创建的?类加载机制是什么?对象的内存布局和访问方式有哪些?...
对象是 Java 程序运行的核心,而 JVM 的对象管理机制直接影响程序的运行效率和内存管理能力。在 Java 中,对象的创建过程离不开类的加载与初始化,因此理解类加载的原理和对象的内存布局,是掌握 JVM 性能优化的关键。本章基于类加载机制的深入解析,将详细讲解对象的创建、内存布局、访问方式及分配策略,帮助你从理论到实践全面掌握 JVM 对象管理的底层逻辑。在进入正文前,先介绍下我的《Java ...
2024-11-27 08:30:29
261
原创 堆、栈、方法区到底是什么?一文带你搞懂 JVM 运行时数据区内存模型!
大家好,我是码哥。在 JVM 的世界中,运行时数据区域是整个虚拟机的基础,它决定了程序的内存管理、线程的执行流以及垃圾回收的核心逻辑。运行时数据区域的划分不仅体现了 JVM 的设计哲学,还在性能优化中起着至关重要的作用。本章我们将从 JVM 的内存模型入手,逐步拆解堆与方法区的核心结构及其角色,深入解析程序计数器与栈内存的设计原理,让你理解 JVM 的内存管理机制并为调优实践打下基础。JVM 内存...
2024-11-26 08:30:23
772
原创 什么是 JVM?JVM 为什么是开发者必须了解的核心技术?
大家好,我是码哥。Java 虚拟机(Java Virtual Machine,JVM)是 Java 技术体系的核心组成部分,它使得 Java 程序能够实现“一次编译,到处运行”的跨平台特性。JVM 不仅运行 Java 程序,还承担了内存管理、垃圾回收、即时编译(JIT)等关键任务,是现代 Java 开发不可或缺的基础设施。在本章中,我们将全面解析 JVM 的作用、设计目标、在 Java 技术体系中...
2024-11-25 08:31:03
445
原创 面试官拷打: Redis 高可用篇章中面试最常见的 6 个问题!
点击上方蓝字关注我 大家好,我是码哥,今天跟大家分享几个 Redis 高可用篇章中面试最常见的 6 个问题。Redis 如何实现持久化?Redis 高可用方案有哪些?主从异步复制同步实现原理?sentinel 哨兵集群?Redis Cluster 是什么?为什么集群的 slots 是 16384?在进入故事前,先插播一则广告,不要走开,广告之后更精彩。。。。。。介绍下我的《Java 面试高...
2024-11-22 08:30:21
648
原创 重生之MySQL SQL 执行的 7 大关键步骤,解锁新技能
上集预告 我的名字是萧剑臣,一个 34 岁的普通人。2024 年接近尾声,浅圳这座钢铁森林依旧喧嚣。我就职于一家名为「网讯」的互联网大厂,是众多加班至深夜的 996 社畜之一。梦想?不过是迎娶白富美,脱离无止境的加班与压力。可当我因疲劳过度晕倒后,再次醒来,我穿越到了一个 MySQL 还没诞生的世界,需要在这个世界完成一系列任务,设计一款数据库 MySQL,《重生之从零设计 MySQL 架构》,...
2024-11-18 08:30:49
898
原创 重生之从零设计 MySQL 架构
我叫萧剑臣,今年 34 岁,2024 年快接近尾声,在一线城市「浅圳」打拼,在一家名叫「网讯」的互联网大厂工作,是一名资深后端架构师。已经连续加班到 23:00 半年多才下班,现在已是亥时,push 完代码后拿出我在「拼夕夕」买的 「zippo」火机点上一支烟,看着它逐渐没有痕迹,空气中闻到一股股淡淡的味道。我弹落的烟灰如此的黯然,黯然如我,思绪万千。我闭上眼睛就是天黑,一种撕裂的感觉。我掐灭了烟...
2024-11-11 08:31:07
528
原创 小米面试:什么是线程池?工作原理是什么?线程池可以动态修改吗?
大家好,我是码哥,《Redis 高手心法》畅销书作者。有读者分享小米 Java 后端面试,其中有一个问题,当时没有回答好:什么是线程池、工作原理是什么、线程池可以动态修改吗?回答这个问题之前,首先我们来了解下什么是线程池,它的工作原理是什么。 什么是线程池 线程池(Thread Pool)是一种基于池化思想管理线程的工具,它维护多个线程。在线程池中,总有几个活跃线程。当需要使用线程来执行任务时,可...
2024-11-09 14:17:06
969
原创 Spring Boot 3.x 中使用 SpringDoc 2 / Swagger3(详解)
大家好,我是码哥,《Redis 高手心法》作者。SpringBoot 已经成为 Java 开发的首选框架,今天码哥跟大家聊一聊 Spring Boot3 如何与 Swagger3 集成打造一个牛逼轰轰的接口文档。为什么要用 Swagger唐二婷:我最讨厌两件事:别人接口不写注释;自己写接口注释。我们都被接口文档折磨过,前端抱怨后端的接口文档一坨屎;后端觉得写接口文档浪费时间。每个项目都有成百上千个...
2024-11-05 09:23:45
692
原创 今天面试了一个候选人,当场想给他 Offer
大家好,我是码哥,《Redis 高手心法》作者、InfoQ 签约作者、51CTO Top 红人。曾经干的不爽了就跳槽,还能加薪,起步 30% 涨幅,好不快活!现在的互联网行情寒潮想必大家都体会到了。公司降薪、年终奖年包变成诈骗的也数不胜数,而绝大多数的我们也只能忍气吞声的苟着。因为外面的招聘变少了,即使有招聘,难度属于地狱级别。除了运气好以外,没有一点真材实料的技术和面试技巧,真的只会翻车!我们平...
2024-11-03 17:20:03
769
原创 10w 级的并发场景,JVM 有哪些方面值得优化呢?
大家好,我是码哥,《Redis 高手心法》作者。可以叫我靓仔。今天我们来简单聊一聊面试中常见的一个问题:要支持 10w 级以上的并发场景,JVM有哪些方面值得优化呢?进入正文前先介绍下我的《Java 面试高手心法 58 讲》专栏,点击查看专栏详细介绍,原价128元,现在双十一优惠 19 元,另外,我向平台申请 100 张 9 折优惠券,用完为止,机不可失,大家抓住机会上车!扫描下方二维...
2024-11-01 08:30:40
388
原创 我的新书出版啦!和大家聊聊写书的酸甜苦辣
向大家介绍下我的新书《Redis 高手心法》。本书基于 Redis 7.0 版本,拟人故事化方式和诙谐幽默的言语与各路“神仙”对话。
2024-10-31 21:49:19
936
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人