自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 Vue+TypeScripts 尚硅谷vue3教程学习笔记

Vue 3 是 Vue.js 框架的一次重大升级,于 2020 年 9 月 18 日正式发布,代号为“One Piece(海贼王)”。作为新一代的前端构建框架,它在性能、源码架构、开发体验以及生 态支持上进行了全面的革新,旨在为开发者提供更高效、更灵活的开发体验。核心特性与优势Vue 3 在底层进行了大量优化,使得应用运行更加流畅。其打包体积减少了 41%,初次渲染速度提升了 55%,更新渲染速度提升了 133%,同时内存占用减少了 54%。

2026-06-15 00:10:53 251

原创 设计模式-模板模式

使用模板模式可以将不变的逻辑提取到父类,减少重复代码的编写。算法的整体结构由抽象父类控制,能保证核心流程的可控性。该模式也符合开闭原则,新增一个业务变体只需要新增一个子类继承抽象父类即可。

2026-05-24 14:09:18 72

原创 设计模式-策略模式

策略模式(Strategy Pattern)作为行为型设计模式的重要一员,其核心在于将一系列算法或业务策略进行独立封装,使它们能够相互替换。这种模式允许系统在运行时根据需求动态地选择并执行具体的算法,从而将算法的实现与使用它的客户端解耦。该模式主要致力于解决传统开发中的痛点:当系统中存在多种相似算法时,如果单纯依赖大量的条件判断语句(如 if-else 或 switch-case)来进行逻辑分支控制,不仅会导致代码臃肿、可读性降低,还会让系统在面对新增算法时变得难以扩展和维护。

2026-05-14 22:25:09 185

原创 设计模式-状态模式

状态模式将每个状态的行为封装到一个类中,增强代码可读性。符合开闭原则,当状态过多时会产生很多状态类,系统会变得复杂、维护难度升级。使用场景当一个对象、事件有多种状态,对不同的状态要求有不同的行为时,可以考虑使用状态模式。

2026-04-26 16:24:00 392

原创 Resilience4j 容错保护实战

在微服务架构中,网络波动、服务宕机是不可避免的。为了保证系统的高可用性,我们需要引入容错机制。Resilience4j 是目前 Java 生态中最受欢迎的容错框架之一。Resilience4j提供了一系列模块化的组件,如断路器(Circuit Breaker)、重试(Retry)、限流器(Rate Limiter)、隔离器(Bulkhead)、缓存(Cache)以及时间器(TimeLimiter),这些组件可以单独使用或组合使用,以应对不同类型的故障场景。

2026-04-22 22:25:26 306

原创 观察者模式

观察者模式符合开闭原则、新增观察者时只需实现接口注册即可,无需修改主题代码。当观察者数量变得庞大起来时,可能能导致程序卡顿。

2026-04-18 22:52:33 64

原创 备忘录模式

备忘录模式(memento pattern) 是一种行为性设计模式。在不破坏封装性的前提下,捕捉对象的一个状态,在该对象之外存储这种状态,以便于以后可以将该对象恢复到保存到状态。备忘录(memento) 负责存储原发器的内部状态(全部或者部分),为了防止状态被篡改,它的设计通常是不可变的,只对原发器可变。原发器(orginator) 主角,负责创建一个备忘录记录当前状态,并且可以使用备忘录恢复状态。它拥有最完整的状态信息。

2026-04-12 11:09:21 208

原创 中介者模式

中介者模式(Mediator Pattern)属于行为型模式。中介者使得各对象之间不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。简单来说,就是把“多对多”的网状关系,变成了“一对多”的星型关系。核心角色优点缺点。

2026-03-29 15:54:13 172

原创 迭代器模式详解

*** 迭代器接口,用于遍历集合中的元素* 提供统一的遍历访问方式,屏蔽底层数据结构的实现细节* @param <T> 迭代器遍历的元素类型*//*** 检查迭代器是否还有下一个元素* @return 如果存在下一个元素返回true,否则返回false*//*** 获取并移动到下一个元素* @return 当前元素,类型为泛型T*/T next();/*** 从迭代的底层集合中移除当前元素(可选操作)

2026-03-22 18:30:00 421

原创 解释器模式(Interpreter Pattern)

当你需要“让程序读懂并执行一段特定格式的文本”,且这段文本的逻辑结构比较清晰、规则可能会频繁变动时,解释器模式是一个很好的选择。但如果语言过于复杂,通常会结合专门的解析器生成工具来使用,而不是纯手写所有类。

2026-03-15 20:23:52 380

原创 设计模式-命令模式

命令模式使用场景是 当需要对行为进行记录、撤销/重做或事务处理时,使用命令模式来解耦请求者和执行者。一旦“动作”变成了对象,它就可以像普通数据一样被存储、传递、组合和回放。这就是为什么它特别适合记录、撤销/重做和事务处理。命令模式优缺点优点降低耦合度:请求者和执行者之间的耦合度降低。易于扩展:新命令可以很容易地添加到系统中。缺点过多命令类:系统可能会有过多的具体命令类,增加系统的复杂度。

2026-03-01 19:09:11 387

原创 String、StringBuilder和StringBuffer

【代码】String、StringBuilder和StringBuffer。

2026-01-19 21:11:57 247

原创 设计模式-责任链模式

责任链提供了一种处理请求的设计模式,请求可以沿着责任链传播,直到请求被处理。该设计模式具有灵活性可以根据需求改变链条处理类成员顺序,或者增加删除处理类。使用该模式可能会影响系统性能,而且出错调试困难。

2026-01-18 16:44:27 361

原创 设计模式-代理模式

代理模式(proxy pattern)在客户端和目标对象之间增加一个中介,负责将客户端的请求转发给目标对象,并且可对目标对象的功能进行增强,这里中介就是代理对象。代理模式分为静态代理、动态代理(又称JDK代理、接口代理)、Cglip代理(不需要实现接口,在内存动态动态创建对象,属于动态代理范畴)。代理对象示意图。

2026-01-17 19:23:58 379

原创 设计模式-享元模式

*** 字符类型显示接口* 定义了在指定位置显示字符的方法规范*//*** 在指定位置显示字符* @param position 显示位置的索引值* @param character 要显示的字符字符串*//*** 具体字符类型实现类,实现了字符类型的接口* 该类用于表示具有特定字体和颜色的字符类型,并提供显示功能*//*** 字体名称,用于指定文本显示的字体样式*//*** 颜色值,用于指定文本或元素的显示颜色*//*** 显示字符信息。

2026-01-11 14:50:48 323

原创 设计模式-外观模式

外观模式(Facade Pattern)是一种结构型设计模式,它为复杂的子系统提供一个统一、简单的接口。通过引入一个外观类(客户端只需要与这个外观类打交道、不需要了解子系统内部的细节。

2025-12-28 18:56:12 323

原创 装饰器模式(Decorator Pattern)详解

假设我们要构建一个咖啡点单系统,顾客可以为咖啡添加各种配料(如牛奶、糖、摩卡等),每种配料都会增加价格和描述/*** Beverage抽象类表示饮料的基类* 这个抽象类定义了所有饮料的通用属性和方法,* 具体的饮料类型需要继承此类并实现相关方法*//*** 饮料的描述信息*//*** 获取饮料的描述信息* @return 饮料描述*//*** 计算饮料的价格* @return 饮料价格*/

2025-12-21 20:34:04 455

原创 组合模式详解

*** 显示文件或目录的信息* @param indent 缩进级别,用于显示层级结构*//*** 获取文件或目录的大小* @return 文件或目录的大小(字节)*/// 工具方法:生成缩进组合模式通过抽象出统一的行为接口,巧妙地将“个体”与“整体”统一处理,极大提升了代码的可读性、可维护性和可扩展性。

2025-12-14 17:59:18 272

原创 过滤器模式

过滤器模式通过将筛选条件抽象为对象,实现了灵活、可组合、可复用的数据过滤机制。虽然在函数式编程流行的今天,我们常使用 lambda 表达式替代显式的过滤器类,但在需要复杂组合逻辑或跨模块复用筛选规则时,过滤器模式依然是一个优雅且实用的设计选择。

2025-12-07 19:27:08 495

原创 设计模式 - 桥接模式

桥接模式通过"桥梁"将抽象和实现分离,让它们可以独立演化。这种设计不仅提高了代码的灵活性,还大大减少了类的数量,使得系统更容易维护和扩展。记住桥接模式的核心思想:不是用继承来扩展功能,而是用组合来连接不同的维度。当你面对多维度变化的复杂系统时,桥接模式往往能提供优雅的解决方案。

2025-11-30 15:30:27 476

原创 Linux 命令: grep

这个命令会匹配到 "grep" 和 "greeper" 中的 "grep"。后,只会匹配独立的单词 "grep",而不会匹配 "greeper"。现在,无论是 "Hello" 还是 "hello" 都能被找到。有时,你只想匹配完整的单词,而不是作为其他单词的一部分。目录及其所有子目录下,所有文件中包含 "TODO" 的行。支持基本的正则表达式,这极大地扩展了其搜索能力。将前一个命令的输出作为后一个命令的输入。选项,可以显示匹配行在文件中的行号。它过滤掉了所有包含 "is" 的行。

2025-11-01 17:42:44 872

原创 设计模式详解-原型模式

原型模式通过克隆现有对象来创建新对象,避免重复初始化过程。文章以披萨订单为例说明浅拷贝和深拷贝的区别:浅拷贝仅复制引用,导致多个对象共享同一数据(如修改小红的海鲜披萨会同时影响小明的订单);而深拷贝会创建全新对象副本,确保修改独立(小红改为牛肉披萨不影响小明)。结论指出,当对象包含自定义引用类型时,必须使用深拷贝以避免数据污染。原型模式常与工厂模式结合,适合资源消耗大或创建过程复杂的场景。

2025-09-20 17:59:42 1069

原创 深入理解 Java 适配器模式:解决接口不兼容的经典设计模式

适配器模式是一种结构型设计模式,用于解决接口不兼容问题。它通过创建适配器类,将现有类的接口转换为目标接口,使不兼容的类能协同工作。文章以音乐播放器为例,演示了类适配器(继承方式)和对象适配器(组合方式)两种实现方法,指出对象适配器更具灵活性且符合合成复用原则。适配器模式适用于集成第三方库、系统重构等场景,无需修改现有代码即可实现接口适配,是提高系统扩展性和维护性的有效解决方案。

2025-09-06 18:22:24 967

原创 设计模式详解:建造者模式

建造者模式是一种分步构建复杂对象的创建型设计模式,它将对象构造与表示分离,使同样的构建过程能创建不同对象。该模式适用于多配置场景(如组装电脑),通过Builder接口、ConcreteBuilder实现、Director(可选)和Product四个角色,实现链式调用的优雅构建方式。Java中可通过静态内部类手动实现Builder,或使用Lombok的@Builder注解自动生成建造者代码,显著简化对象创建过程。该模式使代码更清晰、易维护,是处理复杂对象构建的理想选择。

2025-08-31 17:57:21 486

原创 设计模式详解:工厂模式

✅简单工厂:适合简单项目,一个工厂搞定所有。✅工厂方法:适合产品多、常变的场景,每个产品一个工厂。✅抽象工厂:适合需要成套创建对象的场景,比如 UI 组件库(按钮+文本框+滚动条)。工厂模式的核心是“解耦”——让对象的创建和使用分离。

2025-08-25 23:30:28 282

原创 设计模式七大原则

这七大原则的核心目标就是:让你的代码更灵活、更稳定、更容易修改和扩展,就像一个设计精良、管理有序的工厂,每个部门各司其职(单一职责),新生产线能轻松加入(开闭),新员工能无缝替换老员工(里氏替换),员工手册清晰明确(接口隔离),老板只看报表不插手细节(依赖倒置),部门间沟通高效不越级(迪米特法则),设备模块化可插拔(合成复用)。遵循这些原则,你的“代码工厂”就能高效、稳定地运转!通俗解释能用“组装”(has-a)就别用“继承”(is-a),优先使用组合。生活例子错误继承:你想造一辆“消防车”。

2025-08-23 17:31:10 967

原创 设计模式详解:单例模式(Singleton Pattern)

单例模式是软件开发中常用的一种创建型的设计模式,核心目标是确保一个类在一个系统中只有一个实例。单例模式看似简单,但背后涉及类加载机制、线程安全、JVM 内存模型、反射、序列化等多个 Java 核心知识点。掌握它,不仅能写出高质量代码,还能在面试中脱颖而出。

2025-08-17 19:44:49 512

原创 IBM MQ:概念、常用命令、安装、Java 实例详解

IBM MQ 是一个消息队列中间件,它允许应用程序通过发送和接收消息来进行通信,而无需直接连接。它确保消息的可靠、有序、安全传输,即使在系统故障或网络中断的情况下也能保证消息不丢失。

2025-08-10 18:27:07 1358

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除