SpringBoot连接MySQL 8.0数据库配置及常见坑

本文详解SpringBoot连接MySQL 8.0数据库的标准配置方法,重点解析时区错误及密码配置异常的解决方案。通过添加URL参数和调整YAML格式,解决驱动加载和连接池初始化失败问题,确保项目稳定运行。

SpringBoot连接MySQL 8.0数据库配置及常见坑

Java 缓冲流原理详解与高效读写实战

Java 中的缓冲流(BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter)通过内存缓冲区减少对磁盘的频繁 I/O 操作,显著提升读写效率。本文详解其底层工作原理、默认缓冲区大小,并提供包含字节数组批量读取、readLine/newLine 方法使用的完整代码示例,涵盖从基础用法到性能优化的最佳实践。

Java 缓冲流原理详解与高效读写实战

Java并发编程:synchronized与Lock锁机制详解

本文详细解析Java中的两种核心锁机制:内置的synchronized关键字与java.util.concurrent.locks.Lock接口。通过原理剖析、代码示例及公平/非公平、可重入、读写锁等特性的对比,帮助开发者理解如何在多线程环境下保证共享资源的安全访问,并掌握不同场景下的最佳实践。

Spring Boot中使用MyBatis-Plus与ThreadLocal自动填充公共字段

本文详解在Spring Boot项目中如何利用MyBatis-Plus的元数据对象处理器(MetaObjectHandler)实现createTime、updateTime等公共字段的自动填充。针对更新操作中需动态获取当前登录用户ID的需求,深入解析并实践通过ThreadLocal结合过滤器(Filter)进行线程间数据共享的方案,从而替代冗余的手动赋值代码,提升开发效率与代码整洁度。

Spring Boot中使用MyBatis-Plus与ThreadLocal自动填充公共字段

Java中XXL-JOB分片广播任务实战与负载均衡策略

本文详解XXL-JOB框架中的分片广播任务类型,适用于需并行执行的大数据处理场景。通过Java代码演示如何利用@XxlJob注解配置分片总数与当前索引,并结合取模运算或哈希算法实现负载均匀分布,提升任务执行效率与可靠性。

MyBatis查询Oracle数据库结果与客户端不一致的排查与解决

本文针对MyBatis查询Oracle数据库返回结果为0,而客户端查询正常的问题进行深度排查。通过对比预编译参数与拼接SQL的差异,结合MyBatis源码调试及JDBC复现,最终定位到Oracle CHAR字段自动填充空格的特性导致匹配失败。文章提供了将CHAR修改为VARCHAR2并使用TRIM清理数据的解决方案,同时警示了使用$拼接可能带来的SQL注入风险。

MyBatis查询Oracle数据库结果与客户端不一致的排查与解决

Java关键字transient详解:序列化中被忽略的变量处理

本文详细解析Java中transient关键字的作用及其在对象序列化过程中的行为。通过代码示例演示了标记为transient的字段在序列化时被忽略,反序列化时恢复为默认值的机制。同时探讨了其在保护敏感数据、优化传输性能及处理临时变量等实际开发中的应用场景,并指出了该关键字的使用限制及注意事项。

Java中创建线程的5种主流方法与对比

Java中创建线程主要有继承Thread类、实现Runnable接口及使用Lambda表达式、以及通过Callable结合FutureTask获取返回值。文章详细解析了每种方式的具体代码实现、适用场景及优缺点,推荐使用JDK8+的Lambda简化代码,需要返回值则选用Callable。

Java包的作用与访问修饰符详解:权限控制从入门到实战

本文深入解析Java中包(package)的核心作用、命名规范及常用内置包,并系统梳理四种访问修饰符(public, protected, default, private)的访问范围。通过同类、同包、不同包子类及不同包的代码实例,直观展示成员变量与方法的可见性控制规则,帮助开发者掌握Java封装的最佳实践。