- 博客(102)
- 资源 (2)
- 收藏
- 关注
原创 14. 享元模式vs单例模式
(例如:单例的配置管理器内部使用享元优化重复配置项的存储。若单例对象需要持有多个享元实例,需避免混淆两者的设计目标。享元工厂本身可以实现为单例,确保全局统一管理共享对象池。例如:在游戏中,所有子弹享元对象由一个单例工厂管理。
2025-03-24 11:57:00
259
原创 13. 适配器模式
用于解决两个不兼容接口之间的兼容性问题。它通过将一个类的接口转换成客户端期望的另一种接口,使原本因接口不匹配而无法一起工作的类能够协同工作。适配器模式(Adapter Pattern)是一种。适配器模式是解决接口不兼容问题的利器,本质是。(组合优于继承),确保代码灵活性和可扩展性。
2025-03-24 11:55:40
338
原创 12. 享元模式
享元模式(Flyweight Pattern)是一种结构型设计模式,旨在通过共享对象来高效支持大量细粒度的对象,从而减少内存占用和对象创建开销。享元模式通过共享技术优化大量细粒度对象的内存使用,适用于可分离不变与可变状态的场景。正确使用时能显著提升性能,但需注意线程安全和设计复杂度。
2025-03-24 11:54:09
330
原创 11. 原型模式
原型模式通过克隆机制高效创建对象,是解决复杂对象复制问题的经典方案。它特别适用于对象初始化成本高或需要动态生成变体的场景,但需谨慎处理深拷贝与引用关系。合理使用原型模式能显著提升系统性能,但需权衡实现复杂度与维护成本。原型模式(Prototype Pattern)是一种创建型设计模式,其核心思想是通过。的场景,通过克隆避免重复初始化,提升性能并简化对象创建逻辑。来创建新对象,而非通过类实例化。接口(标记接口),实际开发中需重写。
2025-03-24 11:52:16
316
原创 10. 责任链模式
责任链模式通过链式传递机制,将请求发送者与多个处理者解耦,适用于需要动态扩展处理逻辑的场景。它是工作流系统和中间件设计的核心模式之一,合理使用能显著提升代码灵活性和可维护性,但需注意链条的构建和异常处理机制。责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它通过将多个处理对象连接成链式结构,使请求能够沿着链条传递,直到被某个对象处理为止。,允许多个对象都有机会处理请求,同时动态调整处理流程。
2025-03-24 11:50:20
827
原创 9. 模板方法模式
模板方法模式通过抽象类定义算法骨架,将变化步骤延迟到子类,是实现代码复用和流程控制的经典模式。适用于具有固定流程但需灵活扩展的场景,是框架和工具设计的基石之一。使用时需权衡继承的优缺点,确保核心流程稳定。模板方法模式(Template Method Pattern)是一种行为型设计模式,用于定义一个算法的框架,允许子类在不改变算法结构的情况下重定义某些步骤。
2025-03-24 11:49:31
216
原创 8. 装饰器模式vs代理模式
代理模式和装饰器模式都是结构型设计模式,通过包装对象来扩展功能,但它们的。是控制访问还是扩展功能。两者的选择最终取决于。
2025-03-24 11:48:52
367
原创 1. 设计模式是什么
设计模式是软件工程的“词汇表”,帮助开发者以更高效、系统化的方式解决复杂问题。掌握它们能显著提升代码设计能力,但关键是通过实践理解其本质,避免形式化套用。的总结和抽象,帮助开发者编写更高效、灵活且易于维护的代码。设计模式不是具体的代码实现,而是一种。设计模式(Design Patterns)是软件开发中针对。
2025-03-24 11:21:34
272
原创 5. Thread的start()和 run()方法
类的两个关键方法,但它们的行为和用途截然不同。创建新线程,主线程和子线程并发执行。代码由主线程执行,未创建新线程。在 Java 多线程编程中,
2025-03-19 15:33:31
823
原创 4. sleep()和 wait()
是两个容易混淆的方法,虽然它们都能让线程暂停执行,但底层机制和适用场景完全不同。在 Java 多线程编程中,
2025-03-19 15:32:46
738
原创 3. notify vs notifyAll
方法配合使用,协调多个线程对共享资源的访问。:线程等待不同条件(如生产者-消费者模型中,缓冲区满时唤醒消费者,空时唤醒生产者)。:多个线程等待使用唯一资源(如数据库连接池中的一个连接)。:唤醒所有线程,确保正确类型的线程能响应条件变化。是用于线程间通信的关键方法,它们与。:释放资源后只需唤醒一个等待线程。在 Java 多线程编程中,
2025-03-19 15:32:03
774
原创 2. 如何停止一个线程
的核心原则是让线程自行终止,而不是强制终止。机制,结合标志位和异常处理,确保线程安全退出。已被废弃,可能导致数据不一致或资源泄漏。通过线程定期检查标志位控制退出,需注意。设置中断状态,线程需响应中断信号。
2025-03-19 15:30:26
305
原创 1.Java 多线程
Java 多线程是指在一个 Java 进程内,通过创建多个线程(Thread)来实现并发执行多个任务的机制。:基于 CAS(Compare-And-Swap)实现无锁线程安全。:自动处理线程阻塞与唤醒,实现生产者-消费者模式。:必须在同步块内调用,且通常配合循环检查条件。:避免频繁创建/销毁线程,提升资源复用效率。:避免单继承问题,任务与线程解耦。:支持公平锁、可中断锁、超时锁。:单继承限制,不够灵活。:支持返回值和异常抛出。:一个线程安全的计数器。
2025-03-19 15:27:38
636
原创 21. 永久代的垃圾回收机制 & 元空间
是存储类元数据的关键区域,但它们的设计和内存管理方式存在显著差异。通过理解永久代与元空间的设计差异,可以更好地优化JVM内存配置,提升应用稳定性和性能。在Java虚拟机(JVM)的发展过程中,Java 8 移除了永久代,引入了。
2025-03-19 15:25:53
619
原创 20. 对象一定分配在堆中吗?如何判断对象可以被回收
在Java虚拟机(JVM)中,对象的分配和回收机制是内存管理的核心内容。大多数对象分配在堆中,但某些情况下对象可能分配在栈上或直接位于方法区中。
2025-03-19 15:25:04
541
原创 19. Full GC 与 Minor GC 触发条件
它们的触发条件与内存分配策略、垃圾收集器类型及JVM配置密切相关。在JVM中,垃圾回收(GC)主要分为。Full GC会回收。
2025-03-19 15:24:15
626
计算方法-插值法(多项式插值、基函数插值法、Lagrange插值、Lagrange插值)
2024-10-28
中文文本转语音引擎ekho源码
2018-05-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人