文章封面

SpringBoot+Mybatis 如何实现流式查询,你知道吗?

本文介绍了MyBatis的流式查询功能,这是MyBatis中相对冷门但非常有用的特性。流式查询允许分批查询大量数据,避免一次性加载过多数据导致的内存溢出问题。文章详细阐述了流式查询的原理、实现方式、应用场景和注意事项,并通过示例代码展示了如何在MyBatis中使用流式查询功能。

BigDecimal加减乘除运算以及四舍五入

本文介绍了Java中BigDecimal类的基本算术运算,包括加法、减法、乘法、除法和绝对值等操作。同时,详细阐述了setScale()方法的不同舍入模式,如ROUND_DOWN、ROUND_UP、ROUND_HALF_UP等,并举例说明其应用。最后,通过一个示例代码展示了如何结合加减乘除与四舍五入来计算总内存。文章强调了避免使用浮点数直接构造BigDecimal对象的重要性,并提示根据业务需求选择合适的舍入模式。

文章封面
文章封面

UUID的弊端以及雪花算法

在分布式系统中,全局唯一ID的生成至关重要。本文首先阐述了分布式ID生成的业务需求,包括全局唯一性、趋势递增、单调递增、信息安全、含时间戳等要求。接着,分析了几种常见的ID生成方案,如UUID、数据库自增主键、Redis生成全局ID等,并指出了它们的优缺点。最后,重点介绍了Snowflake算法,该算法具有按时间有序生成、不产生ID碰撞、效率高等优点,但存在依赖机器时钟的缺点。通过分析,本文旨在为读者提供选择合适ID生成方案的理论依据。

订单系统就该这么设计(万能通用),稳的一批!

本文探讨了订单业务在系统研发中的核心地位,分析了订单体系、流程管理、结构设计和技术方案等方面。强调在设计订单流程时,要注重可扩展性和数据规划,采用轻量级分步实现。文章深入解析了订单流程的各个阶段,包括正向流程、逆向流程、调度与监控等,并提出了相应的技术解决方案,如并行与异步处理、超时问题处理、分布式事务等。最后,文章还讨论了数据方案,包括转化分析、分库分表和数据同步等,为订单业务的优化提供了全面的技术指导。

文章封面
文章封面

PO、VO、DAO、BO、DTO、POJO 能分清吗?

《阿里巴巴Java开发规范》阐述了领域模型的重要部分。规范中提出了分层领域模型,包括DO、DTO、BO、AO、VO、Query等对象,并规定了其命名规范。同时,详细介绍了PO、VO、DAO、BO、DTO、POJO等概念及其在软件开发中的应用,强调分层设计降低耦合,便于维护和扩展。此规范为Java开发者提供了清晰的设计指导。

分布式ID生成算法——雪花算法

这篇文章介绍了分布式ID生成算法——雪花算法。首先,文章讨论了分布式ID的需求和问题,指出了在分布式系统中使用自增ID可能导致冲突的问题。接着,文章详细介绍了雪花算法的结构和特点,包括符号位、时间戳、工作机器ID和序列号。雪花算法能够在高并发情况下保证分布式ID的全局唯一性,并且生成的ID按照时间升序排列。此外,文章还讨论了时钟回拨问题以及解决方案,并简单介绍了UUID的缺点。

文章封面
文章封面

分布式ID生成算法——leaf算法

这篇文章介绍了分布式ID生成算法——leaf算法。它是在雪花算法的基础上提出的,具有全局唯一、高可用、高并发、低延迟、接入简单的优点。leaf算法有两种生成模式,分别是号段模式和雪花ID模式。号段模式下,ID从低位增长,较少的号段浪费,能够容忍MySQL短时不可用。双Buffer优化可以保证无论何时DB出现问题,都有一个buffer可以正常向外提供服务。动态步长根据上一次的更新周期T和号段长度step来决定这一次更新的号段长度。

Spring Cloud Gateway与后端服务问题处理总结

本文提出了优化Spring Cloud Gateway性能的三个办法。首先,增加JVM启动参数,采用后进先出策略提高连接获取效率。其次,调整后端服务配置,将连接超时时长设为10秒,以减少无效连接。最后,配置Spring Cloud Gateway,设置连接最大空闲时长为5秒,确保资源及时释放。这些优化措施有助于提高系统性能和稳定性。

文章封面
文章封面

JAVA各JDK版本下载地址

Java 8是革命性的开发平台,全面升级Java编程模式,包括JVM、Java语言和库。它具备生产力、易用性、多语种编程、高安全性和稳定性等特点。JDK8的特性已基本准备就绪,其中Lambda相关特性已完成。Java 8的JDK版本包括Java EE 1.6、1.7和1.8,可在Oracle官网下载。

反射与注解

本文深入探讨了Java编程中的反射与注解概念。首先介绍了反射,通过类名获取类对象,并获取类信息、动态创建对象、调用方法等。随后,文章详细解释了类对象的获取方式、反射操作属性、方法和构造方法等。接着,阐述了设计模式中的工厂模式和单例模式,包括饿汉和懒汉模式。此外,介绍了枚举的使用,包括基本使用和高级使用。最后,讲解了注解的概念、自定义注解和元注解,以及如何定义和使用自定义注解。本文旨在帮助读者全面理解Java编程中的这些重要概念。

文章封面