自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从“卷模型”到“卷应用”:AI时代的价值重塑

从“卷模型”到“卷应用”,是AI时代价值重塑的必然过程。在这个过程中,我们需要保持对技术的敬畏之心,同时也要有敢于创新、勇于实践的勇气。只有将AI技术真正应用于实际场景,解决实际问题,才能发挥其最大的价值,推动社会进步,造福人类。李彦宏的呼吁,不仅是对AI行业的警醒,更是对未来AI发展的美好期许。

2024-07-10 16:35:34 295

原创 访问者模式:设计模式中的动态行为扩展

访问者模式的目的是将算法与其所操作的对象分离,从而为对象结构添加新的操作或行为,而无需修改对象本身。这种分离使得算法可以独立于对象结构进行扩展。@Override@Override// 其他计算机部件类...// 其他计算机部件的访问方法...@Override// 其他访问方法...} } }} } }ArrayList;} } }List;

2024-05-13 11:42:35 534

原创 模板方法模式:定义算法骨架,子类实现具体步骤

在软件开发中,经常会遇到一些算法或过程,它们的总体步骤是固定的,但在某些步骤上可能会有不同的实现。模板方法模式是一种行为型设计模式,它在超类中定义了一个算法的骨架,将一些步骤延迟到子类中实现。这种模式允许子类在不改变算法结构的前提下,重新定义算法的某些特定步骤。

2024-04-25 10:13:10 851

原创 策略模式:灵活定义一系列可互换的算法

在软件设计中,我们经常会遇到需要根据不同的条件选择不同的算法或策略的情况。策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列的算法,并将每一个算法封装起来让它们可以互换使用。策略模式让算法的变化独立于使用算法的用户,从而使得用户可以根据需要动态选择不同的算法。

2024-04-25 10:08:51 456

原创 状态模式:管理状态转换的策略

在软件设计中,某些对象在其生命周期内会有不同的状态,并且这些状态之间可以相互转换。状态模式(State Pattern)是一种行为型设计模式,它允许一个对象在其内部状态改变时改变其行为。这个模式将各种状态转移逻辑封装在独立的对象中,使得对象可以根据其内部状态来决定某一个行为的实现。

2024-04-24 10:02:37 765

原创 观察者模式:实现对象间的松耦合

在软件设计中,对象之间的通信是一个常见的问题。观察者模式(Observer Pattern)是一种行为型设计模式,它允许对象在其状态发生变化时通知其他对象。这种模式创建了一种依赖关系,使得一个对象改变状态时,所有依赖于它的对象都会收到通知并自动更新。本文将探讨观察者模式的概念、结构、实现以及应用场景。

2024-04-24 10:00:12 913

原创 备忘录模式:捕获和恢复对象的内部状态

在软件开发中,有时我们需要捕获一个对象的当前状态,以便在将来某个时刻能够恢复到这个状态。这在实现撤销操作、快照或日志记录等功能时非常有用。备忘录模式提供了一种方法,通过创建对象状态的外部表示来捕获和恢复对象的状态。

2024-04-23 11:24:04 628

原创 中介者模式:简化对象间的通信

在软件设计中,当一个系统中的对象相互高度依赖,且通信关系错综复杂时,理解和维护这样的系统将变得非常困难。中介者模式(Mediator Pattern)提供了一种解决方案,它通过定义一个中介者对象来封装一系列对象之间的交互,从而降低系统的耦合度,使得对象之间的关系更加清晰。

2024-04-23 10:38:53 733

原创 迭代器模式:顺序访问集合对象元素的桥梁

在软件开发中,我们经常需要访问集合对象中的元素,而无需暴露其底层表示。迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供了一种按顺序访问聚合对象元素的方法,而不依赖于对象的底层实现。这种模式在处理数据集合时非常有用,它允许开发者以一致的方式遍历不同的集合类型。

2024-04-22 10:13:47 599

原创 解释器模式:构建领域特定语言的强有力工具

在软件开发中,我们经常需要处理表达式或语言的解析。解释器模式(Interpreter Pattern)是一种行为型设计模式,用于设计一个能够解释特定语言中语句的语法的框架。这种模式特别适合于构建领域特定语言(DSL),即针对特定应用领域的语言。本文将探讨解释器模式的概念、结构、实现以及应用场景。

2024-04-19 10:50:15 991

原创 命令模式:将请求封装为对象

在软件工程中,设计模式是解决常见问题的成熟模板。命令模式(Command Pattern)是这些设计模式之一,它属于行为型模式,用于将一个请求封装为一个对象,从而允许用户使用不同的请求、队列或日志请求来参数化其他对象。本文将探讨命令模式的概念、结构、实现以及应用场景。

2024-04-19 10:47:19 839

原创 责任链模式:处理请求的链式解决方案

责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它通过将请求的处理器串成一个链来处理请求,从而使得各个处理器能够独立地作出决策,而不需要关心其他处理器的存在与处理。这种模式允许动态地重新组织请求的处理方式,增加了系统的灵活性。

2024-04-15 11:08:12 439

原创 代理模式:控制对象访问的灵活解决方案

代理模式(Proxy Pattern)是一种结构型设计模式,它提供了一种代理对象来控制对原始对象的访问。这种模式的主要目的是通过代理对象来间接访问目标对象,从而在不改变原始对象的前提下,增加额外的功能或行为。

2024-04-10 09:56:19 552

原创 享元模式:高效管理共享资源

享元模式是一种有效的资源管理设计模式,它通过共享对象来减少资源的消耗,提高程序的性能。在实际开发中,合理运用享元模式可以帮助我们有效地管理共享资源,提高系统的效率。同时,享元模式也提醒我们,在设计系统时,应该考虑到对象的创建成本和内存占用,以实现更加高效的资源利用。

2024-04-09 10:33:26 850

原创 外观模式:简化复杂系统的交互

外观模式是一种简单而有效的设计模式,它通过提供一个简化的接口,帮助我们管理和访问复杂的系统。通过使用外观模式,我们可以提高代码的可维护性和可扩展性,同时降低系统的复杂性。在实际开发中,合理运用外观模式可以使我们的代码更加清晰和易于管理。

2024-04-09 10:31:38 546

原创 初探 Spring Boot 源码:揭秘其高效魔法

通过深入 Spring Boot 的源码,我们可以看到其设计之精妙和实现之高效。Spring Boot 不仅简化了 Spring 应用的开发和部署,还提供了强大的功能和灵活性,使其成为 Java 开发者的首选框架之一。理解其源码不仅能够帮助我们更好地使用 Spring Boot,还能启发我们在自己项目中的实践。

2024-04-08 15:52:31 750

原创 装饰器模式:动态添加功能于对象

装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许我们在不改变对象结构的前提下,动态地给对象添加功能。这种模式通过将对象包装在装饰器类中来扩展其行为,而不是通过继承。装饰器模式在Java中常用于设计灵活的软件,尤其是在需要为对象添加额外职责时,又不想让这些职责成为类的一部分的情况下。

2024-04-08 10:08:47 629 1

原创 组合模式:构建灵活的树形结构

组合模式是一种非常实用的设计模式,它通过树形结构来表示对象的部分-整体关系,使得用户可以以一致的方式处理单个对象和对象组合。在Java中,通过抽象类和具体类的结合,我们可以轻松地实现组合模式,并将其应用于各种具有层次结构的场景中。

2024-04-08 10:04:34 551

原创 桥接模式:构建灵活的软件设计

桥接模式是一种强大的设计模式,它通过将抽象与实现分离,提高了软件系统的灵活性和可维护性。在实际开发中,合理运用桥接模式可以帮助我们构建更加灵活和可扩展的软件系统。

2024-04-07 09:52:01 461

原创 适配器模式:桥接不兼容的接口

在软件开发中,我们经常需要创建对象的副本。传统的对象复制方法可能在某些情况下效率低下或者不够灵活。为了解决这些问题,原型模式(Prototype Pattern)应运而生。原型模式是一种创建型设计模式,它允许我们通过复制现有的对象来创建新的相似对象,而不是通过新建类。

2024-04-03 10:04:26 782

原创 原型模式:灵活地复制对象

在软件开发中,我们经常需要创建对象的副本。传统的对象复制方法可能在某些情况下效率低下或者不够灵活。为了解决这些问题,原型模式(Prototype Pattern)应运而生。原型模式是一种创建型设计模式,它允许我们通过复制现有的对象来创建新的相似对象,而不是通过新建类。

2024-04-03 09:47:28 883

原创 建造者模式:构建复杂对象的优雅之道

在软件开发中,我们经常需要构建复杂的对象,这些对象可能由多个组成部分构成,并且具有多种不同的表示形式。如果直接创建这些复杂对象,可能会导致代码难以维护和扩展。这时候,建造者模式(Builder Pattern)就派上用场了。建造者模式是一种创建型设计模式,它提供了一种创建复杂对象的方法,该方法允许按步骤构建对象,并且可以确保对象的不变性。

2024-04-02 10:15:20 690

原创 抽象工厂模式:构建复杂的对象族

在软件开发中,我们经常会遇到需要创建一系列相关或依赖对象的情况。这些对象通常共享一个共同的主题或功能,但每个对象都有其特定的变体。这就是抽象工厂模式(Abstract Factory Pattern)发挥作用的地方。抽象工厂模式是一种创建型设计模式,它提供了一个接口,用于创建相关或依赖对象的家族,而不需要指定它们具体的类。

2024-04-02 09:45:49 592

原创 工厂方法模式:灵活的创建对象实例

在软件开发中,我们经常需要创建对象,但直接new一个实例可能会导致代码的耦合性增加,降低了代码的灵活性和可维护性。工厂方法模式(Factory Method Pattern)是一种创建型设计模式,它提供了一种创建对象的接口,但让实现这个接口的类来决定实例化哪一个类。工厂方法模式让类的实例化推迟到子类中进行。

2024-04-01 16:28:00 620

原创 单例模式:确保一个类只有一个实例的设计模式

在软件设计中,有时我们需要确保一个类只有一个实例,并提供一个全局访问点。这就是单例模式(Singleton Pattern)的应用场景。单例模式是一种创建型设计模式,它允许我们控制一个类的实例化过程,确保在任何时间点,该类只有一个实例存在,并提供一个全局访问点。

2024-04-01 16:22:40 751

原创 掌握23种设计模式:提升你的软件设计能力

设计模式是软件工程中的一套被广泛认可的解决特定问题的最佳实践。它们是在多年的软件开发实践中总结出的有效方法。在Java编程中,设计模式同样被广泛应用,帮助开发者构建出结构更加清晰、可维护性更强的代码。本文将介绍23种设计模式,并简要说明它们的作用和应用场景。

2024-04-01 16:17:48 371

原创 系统学习Java:构建坚实的编程基础

Java是一种广泛使用的编程语言,以其跨平台性、强大的生态系统和稳健的性能而受到开发者的青睐。无论你是编程新手还是希望转战Java的经验丰富的开发者,系统学习Java都需要一个明确的学习路径。本文将为你提供一个全面的指南,帮助你从多个关键方面入手,构建坚实的Java编程基础。

2024-04-01 11:37:19 937

原创 接口与抽象类:Java中的抽象编程

抽象类是一种特殊的类,它不能被实例化,并且可以包含抽象方法(没有方法体的方法)和具体方法(有方法体的方法)。

2024-04-01 11:18:51 367

原创 探讨Spring Boot的自动配置原理

在传统的Spring框架中,配置通常意味着大量的XML文件或Java配置类,这些配置指定了哪些Bean应该被创建、如何创建以及它们之间的关系。Spring Boot的自动配置尝试通过预设的默认配置来简化这一过程,只有在默认配置不满足需求时,开发者才需要提供额外的配置。

2024-03-29 14:55:33 717

原创 深入解析TCP与UDP:协议之选的关键时刻

在计算机网络的世界里,传输层协议扮演着至关重要的角色,它们负责在网络中传输数据。TCP(传输控制协议)和UDP(用户数据报协议)是传输层最为人们所熟知的两种协议。尽管它们共同的目标是确保数据的传输,但它们在设计哲学、工作机制和应用场景上有着显著的差异。本文将深入探讨TCP和UDP的核心区别,并讨论在何种情况下选择哪种协议最为合适。

2024-03-27 10:15:16 883 1

原创 Java 8 Stream API:函数式编程的精髓

Stream 是 Java 8 中新增的一个抽象概念,用于表示一系列元素的数据流。它允许我们以函数式编程的方式处理数据集合,如过滤、映射、排序、聚合等操作。Stream 本身并不存储数据,而是对数据源进行操作,并通过管道将操作连接起来,形成一个操作链。Java 8 的 Stream API 为函数式编程提供了强大的支持,使得数据处理和分析变得更加简单和高效。通过掌握Stream的基本概念、常用操作以及最佳实践,我们可以编写出更加优雅和高效的代码。

2024-03-26 11:53:00 903 1

原创 Java 8中的排序:Lambda表达式与Stream API的魔力

如果你想根据对象的属性进行排序,// 构造函数、getter和setter省略List people = // 初始化人员列表这将根据每个人的年龄对人员列表进行升序排序。

2024-03-26 11:35:13 466

原创 MYSQL索引

计算机在存储数据的时候,最小存储单元是扇区,一个扇区的大小是 512 字节,而文件系统(例如 XFS/EXT4)最小单元是块,一个块的大小是 4KB。InnoDB 引擎存储数据的时候,是以页为单位的,每个数据页的大小默认是16KB,即四个块。索引的本质:索引是数据结构。叶子结点中由一组键值对和一个指向该层下一页的指针组成,键值对存储的主键值和数据。4、在使用分组和排序子句进行数据查询时,可以显著减少查询中分组和排序的时间,降低了CPU的消耗。假设一条数据的大小是1KB,么一个叶子结点可以存储16条数据。

2024-01-09 14:13:19 497 1

原创 消息中间件

阿里巴巴开发的高可用的分布式集群技术、正式商用的专业消息中间件,既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性,是阿里巴巴双11使用的核心产品。2017年提交到Apache基金会成为Apache基金会的顶级开源项目。RocketMQ的设计基于主题的发布与订阅模式,其核心功能包括消息发送、消息存储(Broker)、消息消费。NameServer设计及其简单。

2024-01-09 12:09:25 889

原创 Tomcat

Tomcat8.5的特点。

2024-01-05 17:26:36 1306 1

原创 网络协议

开放系统互联参考模型(Open System Interconnect)是国际标准化组织(ISO)制订的一个用于计算机或通信系统间互联的标准体系。采用七层结构,自下而上依次为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

2024-01-05 16:37:37 1364 1

原创 Dubbo

在分布式服务架构下,各个服务间的RPC调用会越来越复杂。最终形成网状结构,服务治理变得极为关键。Dubbo是一个带有服务治理功能(负载、容错等)的高性能、透明化的RPC框架。远程通信提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型、序列化以及“请求-响应”模式的信息交换方式。集群容错提供基于接口方法的透明远程过程调用,包括多协议支持以及软负载均衡,失败容错、地址路由、动态配置等集群支持。服务注册及发现基于注册中心目录服务,使服务消费方能动态的查找提。

2023-12-28 17:02:15 988 1

原创 Mybatis

映射简单关系,sql字段在相应的pojo中必须有属性与之对应。使用注意事项:1)sql列名和javaBean的属性一致。2)如列名为下划线,javaBean为驼峰命名,则需要将mapUnderscoreToCamelCase的值设置为true。3)resultType的值如用简写,需要配置别名。

2023-12-27 18:22:35 986 1

原创 JWT简介

JSON Web Token(JWT)是一个开放的行业标准(RFC 7519),它定义了一种简介的、自包含的协议格式,用于在通信双方传递json对象,传递的信息经过数字签名可以被验证和信任。JWT可以使用HMAC算法或使用RSA的公钥/私钥对来签名,防止被篡改。

2023-12-26 14:28:10 181 1

原创 NGINX安装

1.官网下载http://nginx.org/en/download.html。shell>source /etc/profile ##刷新配置。2.上传到/usr/local目录下。3.安装依赖(如系统已安装,可跳过)

2022-10-18 17:31:38 792 2

空空如也

空空如也

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

TA关注的人

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