03 2024 档案
摘要:
Redis广泛应用于数据缓存、会话管理、排行榜、计数器、分布式锁、消息队列、社交网络、限流控制、位运算、电商、时间序列、地理位置索引等多样化业务场景。
阅读全文

摘要:
Redis通过结合纯内存操作、单线程模型、IO多路复用技术和一系列精心设计的高效数据结构,实现了在高并发、低延迟场景下的优秀性能表现。
阅读全文

摘要:
本文主要讲述Java中各类锁机制的特点,包括重入锁、悲观/乐观锁、偏向/轻量级/重量级锁、分段锁和自旋锁,阐述其优缺点及一些适用场景。
阅读全文

摘要:
ThreadLocal为各线程提供独立变量副本以实现数据隔离。内部采用ThreadLocalMap关联弱引用键与强引用值,易引发内存泄漏,需适时调用remove方法避免。
阅读全文

摘要:
Java四种引用类型:强、软、弱、虚。它们的作用和使用场景各不相同,能够满足不同的内存管理需求。
阅读全文

摘要:
3月19日,Java22重磅发布。Java22新增了12项增强功能,其中包括七个预览特性和一个孵化器特性,这些功能都显著到足以引起JDK增强提案(JEPs)的关注。它们涵盖了Java语言、其API、性能以及JDK中包含的工具的改进。
阅读全文

摘要:
本文介绍了Apache Kafka如何通过分区、键控路由策略和消费者组机制保证消息顺序消费,展示了自定义分区器实现及利用内存队列进行异步处理以兼顾顺序性和效率的优化实践,强调在实际应用中需综合考量系统性能、可用性和消息顺序性。
阅读全文

摘要:
幂等性是开发当中很常见也很重要的一个需求,尤其是订单,支付以及与金钱挂钩的服务,保证接口幂等性尤其重要。本文介绍几种保证接口幂等的方案以及示例。还有谁不会?
阅读全文

摘要:
本文深入探讨了Java 8引入的全新日期时间API相较于传统的Date和Calendar类的优势及实际应用。鉴于Java 8新日期时间API在设计上的先进性和易用性,我们强烈建议开发者积极采纳并替换掉陈旧的Date和Calendar类,转而采用如LocalDate、LocalDateTime、ZonedDateTime等现代日期时间类。
阅读全文

摘要:
在Java多线程编程中,正确且安全地停止线程是一项关键技能。简单粗暴地“杀死”线程不仅可能导致数据不一致性,还可能引发各种难以预测的错误。
阅读全文

摘要:
什么是死锁?死锁问题该如何定位?如何避免死锁?本文从这几个问题入手,详细的解释了死锁。
阅读全文

摘要:
本文主要介绍了设计模式中的状态模式,然后在这个基础上介绍了Spring状态机相关的概念,并根据常见的订单流转场景,介绍了Spring状态机的使用方式。
阅读全文

摘要:
SpringBoot中@Async注解的原理、使用及注意事项。利用AOP和任务执行器提升并发能力。需注意避免异步方法相互调用、合理配置线程池、异常处理、Spring上下文丢失及事务交互。优化应用程序性能和并发处理能力。
阅读全文

摘要:
掌握这几种SQL进阶用法,你将能够更高效地处理各种复杂的数据操作,并少走很多弯路。这些技巧能够提高你的SQL查询能力,使得你在日常的数据处理工作中更得心应手。
阅读全文

摘要:
SpringBoot提供了强大而灵活的定时任务功能。本文介绍了SpringBoot中定时任务的基本用法以及高级特性。通过合理配置定时任务,可以保证定时任务的稳定运行和系统的可靠性。定时任务在提高系统效率、自动化任务执行方面发挥着重要作用。
阅读全文

摘要:
Integer缓存机制是Java中的一项性能优化措施,通过缓存一定范围内的整数对象,减小内存开销,提高性能
阅读全文

摘要:
MapStruct是Java编译时生成对象映射代码的工具,通过注解简化Bean间的转换。它自动创建映射接口实现,提高效率与性能,优于手动或运行时反射映射,并支持自定义逻辑配置,适用于多种框架,提升开发和维护体验。
阅读全文

摘要:
Pair和Triple类是commons-lang3库提供的实用工具,可以方便地将多个值组合在一起,实现多个返回值的效果,提高了代码的可读性和可维护性,使得处理多值情景更加轻松。
阅读全文

摘要:
NullPointerException是Java编程中的常见问题,源自对象引用为空时的操作。我们可以使用进行非空检查、使用Optional类以及采用Null安全注解以及使用检查工具等方式避免
阅读全文
