
后端
文章平均质量分 85
lzz的编码时刻
冲
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
IDEA Debug 无反应?注意这个提示
摘要: 在调试Spring Boot多模块项目时,Debug模式无法启动但Run模式正常。排查发现是Windows命令行长度限制导致,IDEA提示"Command line is too long"。解决方法是在Run/Debug配置中选择"Shorten command line"选项,改用JAR manifest或Classpath file方式缩短命令长度。该问题常见于依赖较多的项目,通过调整启动参数即可解决。原创 2025-07-26 13:32:11 · 364 阅读 · 0 评论 -
明天才过期?今天就登陆不了!!!(干货:时间类型处理)
日期比较时选错类型,导致"今天明明没过期却显示过期"的问题;需要日期比较就用 LocalDate + DATE,需要精确时间就用 LocalDateTime + DATETIME。别让日期字段带时间!原创 2025-06-20 16:57:55 · 833 阅读 · 0 评论 -
别再踩坑了!正确使用Apache Commons Exec管理Java外部进程
Apache Commons Exec是一个专门用于执行外部命令的库,帮你优雅使用外部进程原创 2025-05-06 23:15:33 · 839 阅读 · 0 评论 -
数据迁移(基于模板方法模式)
本节概述了整体设计思路和核心实现模式本代码实现了一个数据迁移方案,采用模板方法模式(Template Method Pattern)组织迁移逻辑。核心类作为抽象基类,定义了通用的迁移流程,而具体的迁移逻辑由等子类实现。原创 2025-03-11 00:38:51 · 783 阅读 · 0 评论 -
消息队列中间件
消息队列中间件(Message Queue Middleware,简称MQ)是一种软件基础设施,它基于队列的通信协议,在分布式系统的不同进程或服务之间传递控制信息、数据或请求。消息队列提供了异步的消息传递机制,使得消息的发送者和接收者不必同时在线,从而实现了应用程序之间的解耦。消息队列中间件作为分布式系统的重要组件,通过提供异步通信、应用解耦、流量削峰等功能,极大地提高了系统的可扩展性、可靠性和性能。选择合适的消息队列中间件并正确使用,对于构建高效、稳定的分布式系统至关重要。原创 2025-03-06 22:48:20 · 1337 阅读 · 0 评论 -
加密算法学习与SpringBoot实践
加密是将明文信息转换为密文的过程,目的是保护数据的机密性、完整性和真实性。用于生成数据指纹,验证数据完整性。原创 2025-03-05 11:45:33 · 751 阅读 · 0 评论 -
分布式锁实现方案对比与最佳实践
在分布式系统中,常常需要控制对共享资源的访问。原创 2025-03-04 16:08:04 · 535 阅读 · 0 评论 -
Spring Boot 优雅参数校验(Bean Validation)
Bean Validation 是 Java 定义的一套基于注解的数据校验规范,Spring Boot 默认集成了 Hibernate Validator 作为其实现。通过在实体类的字段或方法参数上添加校验注解,我们可以优雅地实现参数校验,避免大量的 if-else 代码。原创 2025-03-04 11:23:53 · 1096 阅读 · 0 评论 -
ConcurrentHashMap源码深度解析
ConcurrentHashMap是Java中的线程安全的哈希表实现,它在JDK 1.7和1.8中有着完全不同的实现方式。本文将深入分析JDK 1.8中ConcurrentHashMap的实现原理。使用CAS + synchronized实现同步使用volatile保证可见性使用红黑树优化性能使用多线程协助扩容这些优化使得ConcurrentHashMap成为了一个高性能的线程安全集合类。原创 2025-01-08 10:27:00 · 499 阅读 · 0 评论 -
ArrayList 与 LinkedList 对比与源码解读
特性ArrayListLinkedList底层实现动态数组双向链表随机访问O(1)O(n)插入删除O(n)O(1)内存占用连续内存空间零散内存空间默认容量10无初始容量ArrayList和LinkedList各有优势:ArrayList: 随机访问快,内存占用少LinkedList: 插入删除快,空间利用灵活核心区别:底层数据结构不同操作效率侧重点不同内存占用模式不同使用建议。原创 2025-01-02 10:59:09 · 895 阅读 · 0 评论 -
HashMap源码深度解析(JDK 1.8)
HashMap是Java中最常用的集合类之一,它实现了Map接口,提供了键值对的存储方式。在JDK 1.8中,HashMap的实现采用了数组+链表+红黑树的数据结构,相比于JDK 1.7的数组+链表结构,在性能上有了显著提升。原创 2024-12-26 16:37:29 · 1053 阅读 · 0 评论 -
JAVA8 Stream API 使用详解
Java 8 的 Stream API 是一个强大的工具,用于处理集合和数组的数据流操作。它提供了一种声明性、简洁且高效的方式来进行数据的过滤、转换、分组、统计等操作。本文将深入讲解 Stream API 的使用。S原创 2024-12-24 16:34:06 · 391 阅读 · 0 评论 -
CompletableFuture 详细使用教程
CompletableFuture是Java 8引入的一个类,它实现了Future和CompletionStage接口,用于处理异步计算。相比传统的Future,它提供了更强大的任务编排和异常处理能力。原创 2024-12-23 10:57:37 · 3355 阅读 · 0 评论 -
SpringBoot 编程式事务使用
编程式事务管理是通过编写代码来管理事务,相对于声明式事务(@Transactional注解),它提供了更细粒度的事务控制。使用 TransactionTemplate直接使用 TransactionManager。原创 2024-12-18 15:27:46 · 1769 阅读 · 0 评论 -
SpringBoot事务传播机制详解
事务传播机制是Spring框架中的一个重要概念,它定义了当一个事务方法被另一个事务方法调用时,事务应该如何传播。简单来说,就是定义了方法之间调用时事务的行为。原创 2024-12-17 17:46:09 · 1390 阅读 · 0 评论 -
SpringBoot事务失效场景
事务失效的常见场景,帮你快速掌握事务!原创 2024-12-17 17:25:20 · 1334 阅读 · 0 评论 -
观察者模式:事件处理机制与松耦合设计
观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。当主题对象发生变化时,它的所有观察者都会收到通知并自动更新。GUI系统中的事件处理消息推送系统订阅发布机制观察者模式是一种强大的设计模式,它通过松耦合的方式实现了对象之间的一对多的依赖关系。通过合理使用观察者模式,我们可以构建出灵活、可维护的事件处理系统。在实际应用中,要根据具体场景选择合适的实现方式,并注意处理好各种边界情况。原创 2024-12-12 11:25:03 · 816 阅读 · 0 评论 -
策略模式(Strategy Pattern):算法族的优雅切换
策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。策略模式让算法的变化独立于使用算法的客户端。需要在运行时动态切换算法的场景有一组类似的算法,只是具体实现不同算法的使用者不需要知道算法的具体实现需要消除一系列的条件语句策略模式是一种强大的行为型设计模式,它通过将算法族封装在独立的类中,实现了算法的动态切换。相比传统的if-else方式,策略模式提供了更好的代码组织方式和更强的扩展性。原创 2024-12-11 13:54:40 · 3431 阅读 · 0 评论 -
组合模式(Composite Pattern):树形结构的优雅处理方案
组合模式(Composite Pattern)是一种结构型设计模式,它允许你将对象组合成树形结构来表现"整体-部分"的层次关系。使用组合模式后,客户端可以统一对待单个对象和组合对象,无需关心处理的是一个叶子节点还是一个组合节点。文件系统的目录结构公司的组织架构GUI界面的控件层次菜单系统的多级菜单组合模式是一种优雅的设计模式,特别适合处理树形结构的问题。它通过统一对象的接口,简化了客户端的调用,使得代码更加优雅和易于维护。原创 2024-12-11 11:41:04 · 1320 阅读 · 0 评论 -
深入理解代理模式(Proxy):静态代理、动态代理与AOP
代理模式是一种结构型设计模式,它允许我们提供一个代理来控制对其他对象的访问。代理模式在不改变原始类代码的情况下,通过引入代理类来给原始类附加功能。静态代理简单直观,但是代理类需要手动编写适用于代理类较少的场景JDK动态代理只能代理实现了接口的类运行时动态生成代理类灵活性高CGLIB动态代理可以代理未实现接口的类通过继承实现性能较好Spring AOP提供了更高层次的抽象支持声明式代理结合了动态代理的优点。原创 2024-12-10 10:05:19 · 1145 阅读 · 0 评论 -
Java 装饰器模式详解:动态增强对象功能
装饰器模式是一种结构型设计模式,它允许在不修改原有类的情况下,动态地为对象添加额外的职责和行为。这种模式提供了一种灵活的方式来扩展对象的功能,同时避免了通过继承导致的类爆炸问题。// 咖啡接口。原创 2024-12-09 13:28:24 · 1002 阅读 · 0 评论 -
适配器模式 (Adapter) · 对象适配器 · 类适配器 · 实际开发中的应用
适配器模式在开发中非常常见,尤其是在需要对接第三方接口、实现旧代码兼容时,表现出很高的实用价值。类适配器和对象适配器各有优缺点,开发者应根据实际需求选择合适的实现方式。适配器模式的核心就是兼容性和复用性。原创 2024-12-09 09:39:23 · 1299 阅读 · 0 评论 -
建造者模式(Builder Pattern):优雅地构建复杂对象
建造者模式是构建复杂对象的利器,它通过将对象构建的复杂逻辑封装起来,提供了一种优雅且灵活的对象创建方式。原创 2024-12-05 10:16:54 · 903 阅读 · 0 评论 -
单例模式(Singleton Pattern):深入解析与应用场景
单例模式(Singleton Pattern)是一种常用的软件设计模式,其核心目标是确保一个类只有一个实例,并提供一个全局访问点。这种模式在许多场景下都非常有用,可以有效地控制资源的访问和管理。原创 2024-11-29 10:45:02 · 1461 阅读 · 0 评论 -
软件设计的七大原则:构建高质量代码的指南
七大设计原则是Java开发中的重要指导准则。帮助我们编写更清晰、更灵活、更易维护的代码。在实际开发中,需要根据具体场景灵活运用这些原则。原创 2024-11-27 10:02:02 · 768 阅读 · 0 评论 -
Java设计模式:编写高质量代码的艺术
设计模式是在面向对象设计中,针对特定场景的可重用解决方案。它们代表了软件设计中的最佳实践,是前辈程序员在长期实践中总结出的宝贵经验。设计模式就像是前人在代码世界中为我们铺设的道路,它们不仅指明了前进的方向,更提供了值得借鉴的智慧。设计模式不是教条,而是指导思想。真正的智慧在于理解模式的本质,并能够灵活运用。优秀的程序员不仅仅是会使用设计模式,更重要的是理解其背后的设计原则。原创 2024-11-27 09:58:52 · 1011 阅读 · 0 评论 -
Filter 使用详解
Filter(过滤器)是Java Web开发中最常用的技术之一。它可以在请求到达Servlet之前和响应返回客户端之前,对请求和响应进行拦截和处理。在SpringBoot中,Filter的使用更加便捷和灵活。Filter是非常实用的功能,合理使用Filter可以实现很多横切关注点的功能,如安全控制、性能监控等。选择合适的Filter注册方式正确配置Filter的优先级注意Filter的性能影响做好异常处理和日志记录遵循单一职责原则,每个Filter只处理特定的功能。原创 2024-11-18 09:56:27 · 612 阅读 · 0 评论 -
Spring AOP 使用详解
Spring AOP 使用详解。核心概念+实现示例+注意事项原创 2024-11-14 09:38:13 · 1538 阅读 · 0 评论 -
Spring AOP通知类型详解与实战
Spring AOP通知类型详解与实战,包含了详细的通知类型,和应用举例。原创 2024-11-14 09:30:32 · 547 阅读 · 0 评论 -
Spring MVC 核心原理解析
详细介绍Spring MVC的核心组件、工作原理及主要功能的实现机制原创 2024-10-27 18:16:00 · 1555 阅读 · 0 评论 -
EasyExcel模板导出缺少框体和合并样式解决
最近有需求使用easyExcel来完成导出功能,导出后发现丢失了合并的列和单元格样式,最后通过添加处理器解决该问题。原创 2024-10-08 09:35:06 · 1368 阅读 · 1 评论