- 博客(40)
- 收藏
- 关注
原创 BIO、NIO、AIO的区别
BIO/NIO/AIO 本质上是 I/O 模型,不仅用于网络通信(如 Socket),也适用于 文件读写、磁盘、数据库连接等所有输入/输出操作(I/O)。它们是 Java 对于底层操作系统 I/O 能力的封装方式。
2025-06-09 22:24:44
390
原创 @Transactional 什么情况下会失效
@Transactional 注解在 Spring 中用于声明式事务管理,但在某些场景下会失效。如果遇到事务失效的问题,可以逐一排查这些情况。
2025-06-09 21:53:02
1054
原创 @ModelAttribute、@RequestBody、@RequestParam、@PathVariable 注解对比
接收参数注解 @ModelAttribute、@RequestBody、@RequestParam、@PathVariable 对比。
2025-05-29 22:24:16
237
原创 MyBatis-Plus 的 FieldStrategy 属性
FieldStrategy 是 MyBatis-Plus 灵活性的重要体现,合理使用可以大大简化数据持久层代码,同时可以保证数据操作的精确性和安全性。
2025-04-10 23:03:11
428
原创 @Resource 和 @Autowired 的区别
@Autowired 和 @Resource 都用于在 Spring 中进行依赖注入,但在来源、注入方式、支持的参数和用法上存在一些差异。
2025-03-31 23:21:00
475
原创 访问者模式
访问者模式主要用于分离算法和对象结构,从而在不修改原有对象的情况下扩展新的操作。它适用于数据结构相对稳定,而操作(行为)容易变化的场景。
2025-03-21 23:14:51
439
原创 模板方法模式
模板方法模式定义了一个操作中的算法骨架,并将一些步骤延迟到子类中实现。模板方法模式基于继承机制。模板方法模式在类层次上运作,因此它是静态的。
2025-03-13 22:38:59
350
原创 策略模式
策略模式通过将算法封装在独立的策略类中,并在运行时动态选择算法,提供了一种灵活、可扩展的解决方案,能够有效地消除冗长的条件语句,提高系统的可维护性和扩展性。
2025-03-06 22:37:23
627
原创 中介者模式
中介者模式的目的是把多方会谈变成双方会谈,从而实现多方的松耦合。用一个中介对象来封装一系列的对象交互。这样,系统中的各个对象不直接互相引用,而是通过中介者进行交互,从而降低了系统的耦合度。
2025-02-06 23:35:32
265
原创 迭代器模式
迭代器就是提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式的主要思想是将集合的遍历行为抽取为单独的迭代器对象。
2025-01-16 23:44:51
256
原创 解释器模式
解释器模式为特定的语言定义文法(文法就是语法、规则的意思),并提供一个解释器来解析输入的语言(通常是字符串或符号序列)并执行相应的操作。解释器模式适用于需要处理复杂语法的场景,常见于编程语言的解释器、表达式计算器、配置文件解析等。
2025-01-06 23:29:38
299
原创 责任链模式
责任链模式是一种处理请求的模式,它让多个处理器都有机会处理该请求,直到其中某个处理成功为止。每个处理器都包含对下一个处理器的引用,从而形成链式结构。责任链模式把多个处理器串成链,然后让请求在链上进行传递。
2024-12-18 22:53:00
329
原创 装饰器模式
封装器是装饰模式的别称,封装器实现了与其封装对象相同的接口。我们可以将一个对象放入多个封装器中,并在对象中添加所有这些封装器的组合行为。
2024-11-20 23:19:37
269
原创 桥接模式
桥接模式的定义颇为玄乎。其主要目的是将抽象部分与实现部分分离,使它们可以独立变化。简单地来说,桥接模式通过引入一个抽象层和具体实现层之间的桥梁,来减少二者之间的耦合度。
2024-10-22 23:07:03
351
原创 适配器模式
将一个类的接口转换成我们希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作,就是适配器。适配器模式旨在解决不同接口之间的兼容性问题。
2024-10-12 00:03:58
296
原创 生成器模式
生成器模式将复杂对象的构建过程封装在生成器内部,使得客户端代码更简洁、清晰。当产品较为复杂且需要详细配置时,使用生成器模式才更有意义。
2024-09-30 22:10:21
401
原创 工厂方法模式
工厂方法模式通过一个工厂方法来决定实例化哪个类对象,而不是直接在代码中使用 new 来创建对象。定义一个接口或抽象类,用于声明创建对象的方法,而具体的子类负责实现这个方法并返回相应的对象。
2024-09-19 00:15:03
489
原创 单例模式
单例模式属于创建型模式的一种。单例模式是为了保证一个程序的运行期间,某个类有且只有一个全局唯一实例。在框架中,我们一般会通过约定的方式,把普通类视为单例。
2024-09-11 23:23:17
414
原创 设计模式概述
设计模式总共有23种。创建型模式:工厂方法、抽象工厂、建造者、原型、单例;结构型模式:适配器、桥接、组合、装饰器、外观、享元、代理;行为型模式:责任链、命令、解释器、迭代器、中介、备忘录、观察者、状态、策略、模板方法、访问者。
2024-09-05 23:31:49
560
原创 MySQL中INSERT INTO ... ON DUPLICATE KEY UPDATE浅析
INSERT INTO ... ON DUPLICATE KEY UPDATE语法,如果数据库没有数据,就会新增一条数据,如果有数据,就会根据唯一键进行更新对应的值。
2024-08-26 22:57:53
693
原创 Java8提供的Stream方式进行分组GroupingBy
有时我们需要对集合进行分组操作,这时可以使用Java8提供的Stream方式进行分组。挺好用的,此处记录下。
2024-08-17 23:17:28
620
原创 在不同形式的for循环中使用break、continue、return的效果
我们在循环中,经常会有跳出循环,跳出本次循环继续下次循环等的场景,今天我们简单分享下。主要使用到的关键字是,break、continue、return。
2024-08-12 23:30:37
626
原创 启动Node.js前端项目
启动Node.js前端项目的过程中,主要遇到两个问题,一是有些依赖版本之间不兼容,得根据报错,网上按着找下解决方法;二是没有Git权限,这是我不够仔细造成的,得注意。
2024-08-05 23:15:00
326
原创 IntelliJ IDEA 中 ctrl + w 一键选中双引号中的字符串内容
IntelliJ IDEA 中 把鼠标光标放在前双引号(")后,按 ctrl + w,即可一次全选中字符串中的内容。
2024-04-08 23:27:10
784
原创 InheritableThreadLocal 父子线程值传递
为什么InheritableThreadLocal 可以进行父子线程之间的值传递呢?因为InheritableThreadLocal 拷贝值的时候,是 深拷贝。
2024-03-05 00:10:16
210
原创 集成Nacos
版本统一:Spring Boot2.6.11,Spring Cloud2021.0.4,Spring Cloud Alibaba2021.0.4.0。
2023-08-11 00:00:49
250
2
Java + LibreOffice + Excel转换为PDF + 工具类
2025-01-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人