- 博客(52)
- 收藏
- 关注
原创 深入解析域名解析:互联网的隐形导航系统
域名解析是将人类可读的域名转换为机器可读IP地址的关键过程。本文深度剖析了DNS工作原理:从本地缓存查询开始,经递归解析器向根服务器、TLD服务器、权威服务器的分层查询流程;详解了A、AAAA、CNAME等核心记录类型;揭示了多级缓存机制和TTL控制策略;分析了DNS劫持、污染等安全威胁及DNSSEC、DoH/DoT防护方案;演示了dig、nslookup等诊断工具的使用;探讨了基于DNS的负载均衡、CDN协同、Anycast等高级应用;最后展望了量子安全、区块链DNS等未来发展方向。
2025-07-24 09:12:49
1159
原创 Java I/O模型深度解析:BIO、NIO与AIO的演进之路
本文深度解析Java三种I/O模型的核心原理与演进逻辑。BIO采用同步阻塞模式,每连接每线程的架构导致资源消耗严重,仅适用于低并发场景。NIO通过Selector多路复用机制实现同步非阻塞,采用Reactor事件驱动模型,以单线程管理数千连接,完美解决C10K问题。AIO基于操作系统异步支持,通过Proactor模式和完成回调实现真正的非阻塞I/O,在高吞吐场景优势显著。三者形成阻塞->非阻塞->异步的演进路线,分别适用于不同并发级别和业务场景。
2025-07-21 21:24:00
1193
原创 认证与授权:构建现代应用安全的核心基石
认证与授权是系统安全的核心机制。认证解决"你是谁"的问题,通过用户名密码、多因素认证、OAuth2.0等协议验证用户身份;授权解决"你能做什么"的问题,通过RBAC、ABAC等模型控制资源访问。两者协同工作形成完整安全链条,典型实现包括JWT令牌验证和权限决策流程。现代框架如Spring Security提供了标准化实现,而防御XSS、CSRF等攻击需结合加密传输、最小权限原则等措施。随着零信任架构普及,认证授权机制正向无密码化、去中心化身份等方向演进,构建纵深防御体系成为安全设计的关键。
2025-07-21 09:19:11
1219
原创 RabbitMQ深度解析:从核心概念到实战应用
RabbitMQ作为基于AMQP协议的开源消息代理,是分布式系统异步通信的核心组件。本文详细解析了其核心概念(生产者/消费者、交换机/队列)、五种工作模式(简单模式、工作队列、发布/订阅、路由、主题模式)及高级特性(消息持久化、死信队列、延迟消息)。通过Spring Boot集成实例展示了实际应用,并深入探讨了集群架构、性能优化及典型应用场景(系统解耦、流量削峰)。最后介绍了监控管理工具的使用,为构建高可靠消息系统提供全面指导。
2025-07-17 21:08:19
991
原创 深入剖析消息队列:分布式系统的核心枢纽
消息队列(MQ)是分布式系统的核心组件,通过异步通信实现系统解耦、流量削峰和异步处理。本文深入剖析MQ的核心价值与应用场景,详细解析消息可靠性保障、幂等性设计、顺序消费等关键技术难题,对比分析Kafka、RabbitMQ、RocketMQ等主流产品的特性差异。同时涵盖集群部署、性能优化、监控告警等生产实践,并探讨云原生架构下MQ的智能化演进趋势。通过全面系统的讲解,帮助开发者构建高可靠、高性能的分布式消息体系。
2025-07-17 15:23:18
1045
原创 悲观锁与乐观锁:并发控制的哲学之争与实战艺术
悲观锁采用"先锁定后操作"策略,通过阻塞竞争线程保障强一致性,适用于高冲突、短事务场景(如库存扣减)。乐观锁遵循"先操作后校验"哲学,基于版本号或CAS机制实现无锁并发,适用于低冲突、高吞吐场景(如点赞计数)。选型需评估冲突频率、操作耗时及一致性要求——高冲突选悲观锁,低冲突选乐观锁。现代系统常采用混合策略:前端乐观过滤,核心事务悲观保障。未来趋势包括硬件事务内存、自适应锁算法及无锁数据结构,但核心仍是平衡性能与数据一致性。
2025-07-16 15:56:01
427
原创 Redis深度解析:从缓存到分布式系统的核心引擎
Redis作为高性能内存数据存储,支持字符串、哈希、列表等丰富数据结构,适用于缓存、队列、排行榜等场景。通过RDB快照和AOF日志实现数据持久化,主从复制、哨兵和集群三种模式保障高可用。需防范缓存穿透(布隆过滤器)、击穿(互斥锁)和雪崩(TTL随机化)问题。分布式锁通过SET NX EX原子操作和Lua脚本释放实现。性能优化包括内存控制、命令批处理和多级缓存。未来将融合持久内存、Serverless架构和AI智能管理,持续提升性能与可靠性。
2025-07-16 14:51:53
929
原创 Redis集群深度解析:构建高可用、高性能的分布式缓存
Redis集群通过主从复制、哨兵模式和Cluster模式实现高可用与扩展性。主从复制提供数据冗余和读写分离;哨兵模式实现自动故障转移,确保服务连续性;Cluster模式采用哈希槽分片支持水平扩展。集群运维需关注热点Key、跨槽位操作及脑裂问题。选型依据数据规模与SLA要求:小型业务用主从,中型业务选哨兵,大型高并发场景必须Cluster模式。未来趋势包括Serverless架构、智能数据分布和量子安全通信,但核心仍是平衡CAP三要素。
2025-07-16 11:28:45
1142
原创 Redis读写策略深度解析:高并发场景下的缓存兵法
Redis三大读写策略各有千秋:Cache Aside通过读时加载+写时删缓存实现简单高效,适合读多写少场景;Read/Write Through以缓存为代理保障强一致性,适用金融系统;Write Behind异步写回数据库,为高并发写入提供极速响应。选型需权衡数据一致性、延迟要求与架构复杂度。优化策略包括热点Key分片、管道批处理及熔断降级。未来趋势聚焦智能预测、持久内存集成与量子安全,但核心仍是平衡数据新鲜度、访问速度与系统成本。
2025-07-16 10:53:55
1080
原创 Redis持久化深度解析:数据安全与性能的平衡艺术
Redis持久化保障内存数据安全,核心机制包括:RDB通过二进制快照实现高效备份,适合灾难恢复但可能丢失数据;AOF记录操作命令保障数据完整性,但文件体积大且恢复慢;混合持久化(Redis4.0+)整合二者优势,以RDB为基追加AOF命令。生产环境需根据场景选型:缓存系统可选RDB,金融系统推荐AOF always,大型平台宜用混合模式。调优要点包括控制fork资源、AOF重写策略及多级备份,在高可用架构中需协调持久化与主从复制的关系。
2025-07-16 10:23:49
1048
原创 Redis分布式锁深度剖析:从原理到高可用实践
Redis分布式锁通过SET key random_value EX time NX实现原子加锁,配合Lua脚本保障安全释放。关键挑战在于锁续期和集群高可用——看门狗机制解决业务执行超时问题,RedLock算法应对主从切换场景。工业级实现首选Redisson,提供可重入锁、公平锁等高级特性。选型需权衡CAP理论:Redis满足AP高可用,Zookeeper/etcd提供CP强一致性。未来趋势聚焦Serverless适配和跨云锁服务,但核心仍是平衡互斥性、容错性与时效性。
2025-07-16 09:57:39
23936
原创 Redis缓存三大经典问题深度解析:穿透、击穿与雪崩
缓存穿透、击穿和雪崩是Redis三大经典问题。缓存穿透指恶意查询不存在数据穿透缓存直达数据库,可通过布隆过滤器与空值缓存防御;缓存击穿发生在热点Key失效瞬间引发数据库风暴,需用分布式锁或逻辑过期化解;缓存雪崩因大批Key集中失效导致系统崩溃,采用过期时间随机化、多级缓存及熔断机制应对。三者本质差异在于数据存在性与失效规模,解决需结合架构监控与容灾设计。理解这些机制是构建高可用系统的基石。
2025-07-16 09:28:07
894
原创 Java线程池深度解析与Spring Boot实战指南
本文深入剖析了Java线程池的核心机制,详细解析了ThreadPoolExecutor的七大参数、工作流程及监控策略。在Spring Boot实践部分,系统介绍了三种线程池配置方式、@Async注解的高级用法、多线程池路由策略以及Actuator监控集成。文章还提供了线程池调优的最佳实践和常见陷阱解决方案,并展望了虚拟线程技术的应用前景。通过本文,开发者可以全面掌握线程池的原理与实践技巧,构建高性能、可维护的并发应用系统。
2025-07-15 21:51:52
1477
原创 深入剖析Java并发基石:AQS原理与实战
AQS(AbstractQueuedSynchronizer)是Java并发包的底层同步框架,通过CLH队列管理等待线程,利用state变量表示资源状态。支持独占(如ReentrantLock)和共享(如Semaphore)两种模式,采用模板方法设计允许子类定制同步逻辑。其核心流程包括线程排队、阻塞唤醒及CAS状态更新,为高并发组件提供高效、灵活的同步基础。
2025-07-15 19:34:47
402
原创 深入解析ThreadLocal:线程隔离的奥秘与内存泄漏解决方案
ThreadLocal通过为每个线程创建独立变量副本实现线程隔离,其核心机制是Thread内部的ThreadLocalMap(以弱引用ThreadLocal为Key,强引用存储值)。主要风险是内存泄漏:当ThreadLocal实例被回收后,Value因线程强引用无法释放,尤其在线程池中累积导致OOM。
2025-07-14 20:55:53
418
原创 深入解析进程、线程与协程:现代并发编程的三大支柱
进程是操作系统资源分配的基本单位,提供强隔离但创建开销大;线程作为进程内的轻量级执行单元,共享内存资源,适合多核并行但需同步机制;协程是用户态超轻量级"线程",由程序控制调度,适用于高并发I/O场景。三者形成从重量级到轻量级的演进:进程消耗MB级资源、线程切换需μs级时间,而协程仅需KB级内存和ns级切换。现代开发中,容器技术优化了进程隔离,协程框架(如goroutine)成为高并发服务首选,虚拟线程技术则进一步降低线程开销。理解三者特性差异及适用场景,对设计高性能并发系统至关重要。
2025-07-14 20:13:13
607
原创 设计模式之适配器模式:让不兼容的接口协同工作的艺术
适配器模式是一种结构型设计模式,用于解决接口不兼容问题。它通过创建中间转换层(适配器),将一个类的接口转换为客户端期望的另一个接口,使原本无法协同工作的类能够协同工作。适配器模式有两种实现方式:类适配器(使用继承)和对象适配器(使用组合),后者更灵活常用。该模式特别适用于系统集成、遗留代码复用、接口版本兼容和跨平台开发等场景。主要优点包括解耦客户端与适配者、支持开闭原则、增强代码复用性;缺点可能包括过度设计和调试复杂性。
2025-07-14 13:58:41
1101
原创 设计模式之代理模式:掌控对象访问的优雅之道
代理模式是一种结构型设计模式,通过创建代理对象控制对原始对象的访问。它包含抽象主题、真实主题和代理三个核心角色,分为静态代理和动态代理(JDK/CGLIB)两大类。静态代理在编译期确定关系,实现简单但扩展性差;动态代理在运行时生成代理类,灵活高效。代理模式适用于访问控制、延迟加载、日志记录等场景,能有效增强功能而不修改原始类。其优点包括职责分离、扩展性强和访问控制,但会增加系统复杂度和性能开销。在Spring、MyBatis等主流框架中,代理模式是实现AOP、声明式事务等核心功能的基石。
2025-07-14 12:57:10
1239
原创 设计模式之工厂模式:对象创建的智慧之道
工厂模式是创建型设计模式,用于解耦对象创建与使用逻辑。本文深度解析三种实现:简单工厂(静态方法创建产品,违反开闭原则)、工厂方法(子类决定实例化,支持扩展)和抽象工厂(创建相关产品族)。通过UI跨平台、数据库连接等实战案例,展示如何选择合适模式。分析工厂模式在JDK、Spring等框架的应用,总结最佳实践:优先工厂方法满足单一产品扩展,抽象工厂处理产品族兼容。强调避免过度设计,仅在创建逻辑存在变体时使用工厂模式。
2025-07-13 18:06:27
787
原创 设计模式之单例模式:深入解析全局唯一对象的艺术
单例模式确保类仅有一个实例并提供全局访问点,适用于配置管理、线程池等需全局唯一对象的场景。本文深度解析五种实现方式:饿汉式(线程安全但立即加载)、懒汉式(需解决线程安全)、双重检查锁(需volatile防指令重排)、静态内部类(兼顾延迟加载与线程安全)、枚举(防反射/序列化攻击的最佳实践)。探讨了多线程风险、反射防御策略及框架中的应用,指出在Spring中单例由IoC容器管理,最后强调避免滥用单例,应根据需求选择实现方案。
2025-07-13 16:39:16
1202
原创 CPU缓存一致性协议:深入解析MESI协议与多核并发设计
MESI协议是解决多核CPU缓存一致性的核心机制,通过Modified、Exclusive、Shared、Invalid四种状态协调缓存行数据。其依赖总线嗅探技术实现跨核心通信,结合写缓冲区与失效队列优化性能。典型问题如伪共享(False Sharing)可通过缓存行对齐解决。现代处理器扩展出MOESI/MESIF等变种协议提升效率。理解MESI对开发高性能并发程序至关重要,能有效指导减少不必要的缓存失效、合理使用内存屏障及优化共享数据访问模式,从而充分发挥多核处理器的并行能力。
2025-07-12 14:51:45
554
原创 Java虚拟线程深度解析:性能对比与实战示例
Java虚拟线程通过M:N调度模型实现轻量级并发,初始内存仅数百字节,支持百万级线程创建。相比平台线程,在I/O密集型场景中QPS提升3倍以上,内存占用减少90%。本文通过代码示例展示虚拟线程的创建和使用方式,详细分析其挂起/恢复机制和性能优化原理,并提供生产环境迁移策略。实测表明,虚拟线程显著降低高并发应用的资源消耗和编码复杂度,是Java服务端开发的重要演进方向。
2025-07-12 12:17:21
630
原创 Java 面试题超详细解析(二)
本文详细解析了 Java 基础的后二十问,涵盖了String类特性、异常处理、多线程等重要知识点。阐述了String的不可变性、String与StringBuffer的区别,深入剖析了异常处理机制中运行时异常和一般异常的差异。在多线程部分,介绍了线程的实现方法、同步机制以及线程状态的转换。通过对这些问题的解答,帮助读者更好地理解 Java 基础知识,提升编程能力。
2025-07-11 14:02:57
678
原创 Java 面试题超详细解析
本文围绕 Java 面试题展开详细解析,涵盖基础语法、面向对象、异常处理、多线程、集合、输入输出与序列化、JVM 相关等多个方面。通过对各知识点的深入讲解和示例代码展示,帮助读者理解 Java 语言的核心概念和常见问题。无论是求职面试还是深入学习 Java,这些内容都能为读者提供有价值的参考,助力提升 Java 编程能力和面试应对能力。
2025-07-11 09:00:39
598
原创 Spring事务管理深度解析:原理、实践与陷阱
Spring事务管理通过声明式和编程式两种方式提供ACID特性支持。核心在于PlatformTransactionManager接口的统一抽象及@Transactional注解的灵活配置,需重点理解七种传播行为和四种隔离级别的适用场景。实践中需警惕事务失效的常见陷阱,如非public方法、自调用问题及异常处理不当等。多数据源场景可通过指定事务管理器实现,而事务同步机制则支持扩展事务生命周期回调。遵循事务最佳实践可有效保障数据一致性并提升系统性能。
2025-07-10 22:36:14
349
原创 MySQL高级特性全面解析:约束、表关系、多表查询与事务
本文深入解析MySQL四大高级特性:约束机制通过非空、唯一、主键等规则保障数据完整性;表关系设计实现一对多、多对多和一对一关联;多表查询涵盖内连接、外连接及子查询技术;事务管理确保操作的原子性和一致性。通过实际案例和最佳实践,展示如何构建健壮数据库系统。掌握这些技术能显著提升数据操作的可靠性、查询效率和系统稳定性,是MySQL高级应用的核心能力。
2025-07-10 21:30:46
669
原创 MySQL数据库基础教程:从安装到数据操作
这篇MySQL基础教程全面介绍了数据库的核心概念与操作实践。从数据库管理系统(DBMS)和SQL语言的解析开始,逐步讲解MySQL在Windows环境下的安装配置流程,涵盖服务初始化、环境变量设置等关键步骤。重点演示了DDL(数据库/表操作)、DML(数据增删改)和DQL(数据查询)的语法与应用场景,包括条件查询、聚合函数、分组统计和分页查询等实用技巧。最后介绍了Navicat图形化工具的使用优势,并解析了MySQL的存储模型。通过本教程,读者可快速掌握MySQL的基础操作能力,为数据库开发打下坚实基础。
2025-07-10 12:54:56
301
原创 Java 的“128陷阱”:深入理解 Integer 缓存机制
Java的“128陷阱”源于Integer的缓存机制:JDK 1.8默认缓存-128到127的Integer对象,通过valueOf()自动装箱时会返回缓存对象。此范围内用==比较可能为true,但超出范围(如128)会创建新对象导致==失效。解决方案是始终用.equals()比较包装类对象,或拆箱为基本类型比较。该机制旨在优化小整数性能,但需开发者注意对象比较的陷阱。类似缓存也存在于Byte、Short、Long等包装类中,而Float/Double则无此设计。
2025-07-09 20:16:00
340
原创 Java HashMap的get/put源码深度解析(JDK 1.8)
本文基于JDK 1.8源码深度解析HashMap的get/put核心流程。HashMap采用数组+链表+红黑树混合结构,通过扰动函数(h=hashCode())^(h>>>16)优化哈希分布。put流程包含哈希计算、桶定位、树化判断(链表≥8且容量≥64时转红黑树)、尾插法插入及扩容迁移(高低位拆分避免rehash);get流程通过(n-1)&hash定位桶后,按链表遍历或红黑树搜索(O(log n))查找节点。关键设计包括树化阈值权衡、位运算替代取模、扩容优化等,文末附最佳实践与高频面试题解析。
2025-07-09 20:10:15
1259
原创 Java集合之Map超详细解析
本文详细介绍了Java中Map相关知识。涵盖多种Map类型:HashMap(JDK1.8后为数组+链表+红黑树,解决哈希冲突,有扩容机制)、LinkedHashMap(继承HashMap,增双向链表保插入顺序)、Hashtable(数组+链表,线程安全,键值不可为null)、TreeMap(红黑树,键有序唯一)。还对比了HashMap与Hashtable的异同,讲解了HashMap扩容、插入流程、线程安全问题及解决办法,提及集合选用依据、null值在不同集合中的存储情况等。
2025-07-09 14:22:10
866
原创 Git介绍与基本使用
Git是目前世界上最先进的的分布式控制系统(没有之一)。很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!
2025-03-12 14:53:41
840
原创 Java基础系列:深入解析反射机制与代理模式及避坑指南
反射的本质:突破静态类型系统的限制,在运行时动态操作类和对象,为框架开发提供基础能力,但需要谨慎处理安全和性能问题。代理模式的价值:通过中间层控制对象访问,实现功能增强和系统解耦,是现代框架设计的核心模式之一。避坑关键点反射操作需处理安全检查异常(SecurityException)动态代理方法调用注意异常传播CGLIB无法代理final方法和类代理对象的equals/hashCode需特殊处理反射性能优化依赖元数据缓存建议在IDE中开启以下检测:反射API使用警告检查代理类生成配置优化。
2025-03-09 20:11:11
1447
原创 Java基础系列:深入解析抽象类、接口与Lambda表达式及避坑指南
抽象类核心价值:在继承体系中提供代码复用和扩展的基础结构,通过定义部分实现来规范子类行为。接口进化意义:从纯粹的行为契约发展为支持实现细节的描述工具,通过默认方法实现接口的平滑演进。Lambda表达式革命:通过简洁的语法实现行为参数化,结合函数式接口推动Java函数式编程能力。避坑关键点抽象类构造方法避免调用可覆盖方法接口默认方法冲突需显式解决Lambda捕获的变量必须等效final方法引用需注意重载歧义函数式接口必须严格单抽象方法正确运用这些特性需要深入理解其设计哲学和实现机制。
2025-03-09 19:49:16
1173
原创 Java基础系列:深入解析Object类与面向对象编程核心机制
Object类的核心地位:作为所有类的超类,其方法规范是Java类型体系的基石,正确理解和实现这些方法是编写健壮Java程序的前提。面向对象本质:通过封装隐藏实现细节,利用继承建立类型层次,借助多态实现灵活扩展,三者协同构建可维护、可扩展的软件系统。避坑关键点equals/hashCode必须成对重写clone方法需谨慎处理对象引用构造方法中避免调用可覆盖方法多态行为受限于方法可见性接口默认方法需解决冲突掌握这些核心机制和最佳实践,能够显著提升面向对象设计能力。
2025-03-09 19:25:29
717
原创 Java基础系列:深入解析final与static关键字的奥秘与避坑指南
final设计哲学:通过不可变性保障程序稳定性的三重机制(常量不可修改、方法不可重写、类不可继承),在并发编程中构建安全防线,同时为JVM优化提供基础。static核心价值:实现类级别资源共享,优化内存使用效率,但需警惕生命周期管理问题,特别注意静态成员的初始化顺序和线程安全问题。避坑关键点final修饰对象时内部状态仍可变静态方法不能访问实例成员匿名内部类捕获的外部变量隐式final多线程环境共享static变量的同步控制静态代码块的执行顺序依赖声明顺序。
2025-03-09 19:08:44
872
原创 Java基础系列:深入解析String与自定义类型的不可变性设计及避坑指南
/ 引用类型需特殊处理this.x = x;this.y = y;// 防御性拷贝// 返回副本String不可变设计的本质:通过层层防御机制(final类、私有不可变数组、无状态修改方法)确保对象状态的永恒性,这种设计带来内存优化、线程安全、哈希缓存等多重优势,虽然牺牲了部分修改性能,但通过StringBuilder等配套类弥补了缺陷。自定义类型设计启示:根据业务需求选择可变性设计,值对象优先考虑不可变性,实体对象可采用可变设计。无论哪种设计,都要注意防御性编程,避免暴露内部状态。
2025-03-09 17:52:40
755
原创 Java基础系列:深入解析包装器类型与类型转换的奥秘与陷阱
包装器类型与类型转换是Java开发中的双刃剑,既提供了强大的灵活性,也暗藏诸多陷阱。关键注意点:自动装箱拆箱的性能代价与NPE风险包装类对象比较必须使用equals方法数值转换时的精度丢失与溢出问题字符串转换必须处理格式异常理解这些机制背后的原理,结合防御性编程思维,才能写出既安全又高效的Java代码。建议开发者在IDE中开启自动装箱检查(如IntelliJ的检测),从工具层面规避潜在风险。
2025-03-08 20:37:03
793
原创 Java基础系列:深入理解八大基本数据类型及避坑指南
Java作为强类型语言,提供了八种基本数据类型(Primitive Types),构成了Java程序的基石。与引用类型不同,基本类型直接存储数据值,具有固定内存空间和默认值,在内存分配和访问效率方面具有优势。
2025-03-08 20:00:07
807
原创 Java虚拟机之类加载机制
3. Shared ClassLoader:加载 Web 应用共享类(对 Tomcat 不可见)。4. Webapp ClassLoader:加载当前 Web 应用的私有类(各应用相互隔离)。掌握 JVM 类加载机制,是排查类冲突、优化应用性能的基石。父加载器无法完成时(搜索范围内无该类),子加载器才尝试加载。:理解类加载器层次、避免类冲突、合理利用自定义加载器。:同一类被不同加载器加载,或不同版本类共存。:加载子类时,父类尚未加载则会先加载父类。解析对象:类、接口、字段、方法、接口方法。
2025-03-07 19:09:44
663
原创 Java虚拟机之垃圾收集(二)
用户线程与垃圾收集线程并发运行时,对象引用关系可能动态变化(如对象被重新赋值、新对象创建),导致标记结果不准确。以标记开始时对象图的快照为基准,忽略后续删除的引用(如 G1 使用 SATB 记录引用删除)。记录并发标记过程中新增的引用关系(如 CMS 使用写屏障记录引用变化)。的情况下完成对象图的遍历,从而减少垃圾回收的停顿时间(STW)。并发标记:基于初始快照遍历对象图,忽略并发期间删除的引用。最终标记(STW):处理 SATB 队列中的引用变更记录。:短暂 STW,修正并发标记期间遗漏的引用变动。
2025-03-07 18:55:35
768
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅