MyBatis-Plus 打印 SQL 语句的两种常用配置方法

在 MyBatis-Plus 开发中,查看 SQL 语句有助于排查数据问题。本文介绍两种主流配置方式:通过 log-impl 输出详细包含结果集的 SQL,以及通过 logging.level 仅记录执行语句与影响行数。提供 YAML 与 Properties 两种格式的配置文件写法,帮助开发者根据调试需求选择合适的日志粒度。

Java自定义方法校验日期字符串格式与合法性

在Java开发中,使用 `new SimpleDateFormat().parse()` 有时无法严格拒绝错误日期(如2月30日)。本文介绍一种通过比较格式化前后字符串一致性来校验时间格式的完整Java类,支持yyyy-MM-dd、HH:mm:ss等多种组合,确保输入的日期既符合格式又逻辑合法。

Java自定义方法校验日期字符串格式与合法性

Java Object equals()方法详解:默认行为与重写实践

本文解析Java中Object类的equals()方法。默认情况下,该方法继承自Object,通过==运算符比较两个对象的内存地址(同一性)。对于业务对象,需根据属性值重写equals()以判断逻辑相等性;而String等包装类已预实现了基于内容的比较逻辑。文章提供了未重写与重写前后的代码对比及运行结果说明,帮助理解对象判等的本质差异。

Java Object equals()方法详解:默认行为与重写实践

Java方法重载规则与参数传递机制详解

本文详解Java中方法重载的判定条件,强调仅依赖参数列表而非返回值。通过多类型比较示例展示重载实现。深入剖析基本数据类型(值传递)与引用类型(地址/对象内容传递)在参数传递中的行为差异及结果影响。

Java方法重载规则与参数传递机制详解

Java static关键字核心机制与使用场景详解

Java中static关键字用于定义属于类而非实例的变量和方法。本文解析其内存分配原理、访问限制(如static不可重写及访问非静态成员)、继承特性,并详细梳理静态代码块、构造代码块、构造函数的初始化顺序,附带测试代码验证运行结果。

Java AWT 菜单组件详解:创建菜单栏与右键弹出菜单

本文详细解析Java AWT中Menu、MenuItem及PopupMenu等菜单组件的类结构与继承关系,并提供MenuBar(顶部菜单栏)和PopupMenu(右键上下文菜单)的完整代码示例。通过具体案例演示如何构建多级菜单、添加分割线、设置快捷键以及监听鼠标右键事件,帮助开发者快速掌握桌面应用菜单功能的实现逻辑。

Java AWT 菜单组件详解:创建菜单栏与右键弹出菜单

Java 对象实例化:new 关键字背后的内存机制解析

深入解析 Java 中通过 new 关键字创建对象的底层内存行为。文章阐述了堆内存保存对象数据、栈内存保存引用地址的核心概念,通过多变量指向同一堆内存的场景,揭示对象引用的本质及属性覆盖规则,帮助开发者理解 JVM 对象生命周期与内存管理。

Java 对象实例化:new 关键字背后的内存机制解析

SpringBoot中基于Redis实现分布式全局锁解决并发竞争

在微服务架构下,多实例部署常导致资源竞争。本文通过Java代码模拟库存扣减场景,展示未加锁时的数据不一致问题。随后介绍利用Jedis结合SET NX PX命令实现原子性加锁与Lua脚本释放锁的原理,并提供SpringBoot环境下的完整示例代码,确保高并发下的数据准确性。

Java包机制详解:import导入、package创建与访问权限控制

本文深入解析Java中包(package)的核心概念与作用,详细说明如何使用import语句导入类库(包括通配符与静态导入),指导在IDEA中创建自定义包并规范命名,同时剖析不同访问修饰符下的包间可见性规则及常见系统包的用途。

Java包机制详解:import导入、package创建与访问权限控制