当前位置: 首页 > news >正文

微服务与Spring Cloud Alibaba简介

        微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。本单元主要介绍微服务架构的定义、微服务的特征、微服务架构面临的挑战、Spring Cloud 定义、Spring Cloud 核心组件、Spring Cloud Alibaba 定义、Spring Cloud Alibaba 组件等相关知识。

一、了解微服务架构

1. 微服务架构的定义

        微服务架构(Microservices Architecture)是一种云原生的架构模式,它将一个大型单体应用拆分为多个独立部署、松散耦合、轻量级的小型服务。每个服务专注于单一业务功能,并通过轻量级协议(如HTTP/REST或gRPC)进行通信。

2. 微服务的特征

  • 独立部署:每个微服务可以独立开发、测试、部署和扩展,不影响其他服务。

  • 松耦合:服务之间通过定义良好的API交互,减少依赖。

  • 单一职责:每个服务只负责一个特定的业务功能。

  • 技术异构性:不同服务可以采用不同的编程语言、数据库或技术栈。

  • 去中心化治理:团队可以自主选择适合自身服务的技术方案。

  • 容错性:单个服务故障不会导致整个系统崩溃。

3. 单体应用架构、垂直应用架构、分布式架构、SOA和微服务架构

3.1 单体应用架构

        所有功能模块集中在一个代码库中,打包为单一应用部署。

3.2 垂直应用架构

        按业务拆分为多个独立单体应用(如电商拆分为订单、用户、商品系统)。

3.3 分布式架构

        分布式架构把工程分成服务层和表现层两个部分,服务层中包含业务逻辑,表现层只需处理和页面的交互。

3.4 SOA架构

        在分布式架构下,当服务越来越多时,容量的评估、小服务资源的浪费等问题逐渐显现,需要增加一个注册中心对集群进行实时管理。

3.5 微服务架构

        微服务架构在某种程度上是 SOA,它更加强调服务的“彻底拆分”。简单地说,微服务架构就是将单体应用进一步拆分成更小的服务,每个服务都是一个可以独立运行的项目。

3.6 五种架构模式对比分析

架构类型优点缺点适用场景
单体应用架构
(Monolithic)
开发简单:代码集中,调试方便。
部署简单:单个应用包,运维成本低。
事务管理容易:ACID 事务保证数据一致性。
耦合度高:修改一个功能可能影响整个系统。
扩展性差:只能整体扩展,无法按需伸缩。
技术栈单一:难以引入新语言或框架。
维护困难:代码臃肿后难以重构。
小型项目、初创企业、低并发业务。
垂直应用架构
(Vertical)
按业务拆分:不同功能独立部署,减少耦合。
可针对性优化:不同业务可采用不同技术栈。
扩展性提升:可按业务模块单独扩展。
重复开发:公共功能(如用户认证)需重复实现。
数据一致性难:跨系统交互需额外处理。
系统间调用复杂:依赖 HTTP/RPC,性能较低。
中型系统,业务模块相对独立(如电商:订单、商品分离)。
分布式架构
(Distributed)
高性能:通过 RPC(如 Dubbo)实现高效通信。
模块化:服务可独立开发部署。
容错能力:单点故障不影响整体。
复杂度高:需处理网络延迟、分布式事务等。
运维成本高:需管理多个节点和中间件。
调试困难:跨服务问题追踪复杂。
高并发、高性能需求场景(如金融交易系统)。
SOA
(面向服务架构)
服务复用:通过 ESB(企业服务总线)整合服务。
标准化接口:基于 SOAP/WSDL,适合企业集成。
松耦合:服务可独立演进。
ESB 易成瓶颈:中心化架构,性能受限。
笨重:XML/SOAP 协议冗余,效率低。
部署复杂:依赖大量中间件。
大型企业系统整合(如ERP、银行核心系统)。
微服务架构
(Microservices)
高内聚低耦合:服务职责单一,独立扩展。
技术异构性:不同服务可用不同技术栈。
弹性伸缩:按需扩容,资源利用率高。
快速迭代:小团队专注单个服务。
运维复杂:需容器化、CI/CD、监控等配套。
分布式问题:数据一致性、事务管理难度大。
网络开销:服务间通信增加延迟。
互联网级应用、云原生场景(如电商平台、社交App)。

二、了解Spring Cloud

1. Spring Cloud 定义

Spring Cloud 是基于 Spring Boot 的一套微服务治理框架,提供了一系列工具(如服务发现、配置中心、负载均衡、熔断器等),简化分布式系统的开发。

2. Spring Cloud 核心组件

(1) 服务注册与发现

  • Eureka(Netflix 开源)

    • 服务提供者注册到 Eureka Server,消费者通过服务名调用。

    • 适用场景:中小规模 Spring Cloud 项目。

    • 缺点:2.x 版本停止维护,推荐替代方案(如 Nacos)。

  • Nacos(Alibaba 开源)

    • 支持服务注册发现 + 动态配置管理,兼容 Spring Cloud 和 Dubbo。

    • 优势:AP/CP 模式可切换,适合云原生场景。

(2) 负载均衡

  • Ribbon

    • 客户端负载均衡,集成于 OpenFeign 或 RestTemplate。

    • 策略:轮询、随机、加权等。

  • Spring Cloud LoadBalancer(官方新推荐)

    • 替代 Ribbon,支持 Reactive 编程(WebFlux)。

(3) 服务调用

  • OpenFeign

    • 声明式 REST 客户端,通过接口注解(@FeignClient)定义调用。

    • 示例:

      @FeignClient(name = "order-service")
      public interface OrderClient {@GetMapping("/orders/{id}")Order getOrder(@PathVariable Long id);
      }

(4) 熔断与降级

  • Hystrix(已停更)

    • 通过 @HystrixCommand 实现熔断和降级逻辑。

  • Resilience4j(推荐)

    • 轻量级容错库,支持熔断、限流、重试等。

  • Sentinel(Alibaba 开源)

    • 实时监控流量,支持熔断、热点限流、系统自适应保护。

(5) API 网关

  • Spring Cloud Gateway(官方推荐)

    • 基于 WebFlux 的高性能网关,支持动态路由、过滤器和限流。

    • 示例路由配置:

      spring:cloud:gateway:routes:- id: user-serviceuri: lb://user-servicepredicates:- Path=/api/users/**
  • Zuul(Netflix 旧版)

    • 基于 Servlet 阻塞模型,性能较低,逐渐被淘汰。

(6) 分布式配置中心

  • Spring Cloud Config

    • 将配置存储在 Git/SVN,通过 @RefreshScope 实现动态刷新。

  • Nacos Config

    • 更强大的替代方案,支持配置版本管理和灰度发布。

3. Spring Boot 与 Spring Cloud 的关系

        Spring Boot 是 Spring 的一套快速配置脚手架,用户可以基于 Spring Boot 快速开发单个微服务,Spring Cloud 是基于 Spring Boot 实现的云应用开发工具;Spring Boot 专注于快速、方便集成的单个微服务个体,Spring Cloud 专注于全局的服务治理框架;Spring Boot 使用默认大于配置的理念,很多集成方案已经帮用户选择好了,Spring Cloud 的很大一部分是基于 Spring Boot 来实现的。

        Spring Boot 可以离开 Spring Cloud 独立使用,但是 Spring Cloud 离不开 Spring Boot,具有依赖关系。

三、Spring Cloud Alibaba 介绍

1. 概述

        Spring Cloud Alibaba 是阿里巴巴开源的微服务解决方案,基于 Spring Cloud 标准生态构建,提供了一系列适用于云原生和分布式架构的组件。它整合了阿里巴巴在双11等高并发场景下的实践经验,为微服务开发提供更强大、更稳定的支持。

2. 核心组件

组件功能替代 Spring Cloud 原生组件
Nacos服务注册与发现 + 动态配置中心(支持 AP/CP 模式)Eureka + Config
Sentinel流量控制、熔断降级、系统自适应保护Hystrix / Resilience4j
Seata分布式事务解决方案(支持 AT、TCC、Saga 模式)无官方替代(Spring Cloud 无完整方案)
RocketMQ分布式消息队列(高吞吐、低延迟)RabbitMQ / Kafka
Dubbo高性能 RPC 框架(可选,与 Spring Cloud 整合)OpenFeign + RestTemplate
Alibaba Cloud OSS对象存储服务(文件上传、下载等)无直接替代

3. 与 Spring Cloud 原生组件的对比

需求Spring Cloud 原生方案Spring Cloud Alibaba 方案优势比较
服务注册与发现Eureka(停止维护)NacosNacos 支持动态配置 + 更高可用性
熔断降级Hystrix(停止维护)SentinelSentinel 支持实时监控 + 流量控制
分布式事务无完整方案SeataSeata 提供多模式事务支持
消息队列需整合 Kafka/RabbitMQRocketMQRocketMQ 更适合高并发、顺序消息场景

        微服务架构通过拆分单体应用,提高灵活性和可扩展性,但也带来分布式系统的挑战。Spring Cloud 和 Spring Cloud Alibaba 提供了一系列工具来简化微服务的开发、治理和运维,使开发者能更专注于业务逻辑。

相关文章:

微服务与Spring Cloud Alibaba简介

微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。本单元主要介绍微服务架构的定义、微服务的特征、微服务架构面临的挑战、Spring Cloud 定义、Spring Cloud 核心组件、Spring C…...

元生代品牌建设:平台实现工作流(comfyui)创建与技术文档说明

本文摘要:蓝耘科技自2004年成立以来,从传统IT系统集成业务转型为聚焦GPU算力云服务的科技公司。其发布的元生代平台,是一个集算力调度、应用市场和AI协作开发为一体的智算云平台。用户可在蓝耘平台使用ComfyUI进行AI绘图,通过添加…...

无线通信网

1.2.4G相邻信道间有干扰,5G相邻信道几乎无干扰 2.2.4G频段的优点是信号强,衰减小,穿墙强,覆盖距离远;缺点是带宽较窄,速度较慢,干扰较大。 5G频段的优点是带宽较宽,速度较快&#…...

WMware虚拟机Ubuntu磁盘扩容

VMware中操作: 选择要扩容的虚拟机,点击编辑虚拟机设置 打开后点击磁盘——>点击扩展(注意:如果想要扩容的话需要删除快照) 调整到你想要的容量 点击上图的扩展——>确定 然后我们进到虚拟机里面 首先&#…...

vscode头文件自由跳转

文章目录 1. 安装c/c扩展2. 建.vscode文件夹 当你想要ctl鼠标左击跳转到三方库的定义的时候请往下看。 1. 安装c/c扩展 2. 建.vscode文件夹 在.vscode文件夹下新建c_cpp_properties.json {"configurations": [{"name": "Linux","include…...

BUG:Cannot find implementation for xxx. database. xxx. xxx_Impl does not exist

问题背景 使用Jetpack Compose将数据存储在room本地数据库时,编译报错: java. lang. RuntimeException: Cannot find implementation for com. example. androidproject. practice. roomdmeo. database. AppDatabase. AppDatabase_Impl does not exist …...

基于PySide6与pyCATIA的工程图智能文本替换工具开发指南

一、需求背景与实现价值 在汽车、航空等制造领域,CATIA工程图的文本标注管理常面临批量修改需求。传统手工操作存在效率低、易出错等问题。本文实现的文本替换工具具有以下行业价值: 提升图纸修订效率(单次操作可处理数千个文本对象&#x…...

MCP协议下人工智能康复理疗智械融合编程方向分析

一、引言:AI 康复时代的技术革新 在全球人口老龄化进程加速以及慢性病发病率持续走高的双重背景下,康复医疗领域正面临着前所未有的需求增长压力。据世界卫生组织(WHO)相关数据表明,预计到 2050 年,全球 60 岁及以上老年人口数量将激增至 21 亿,这一庞大群体中,绝大多…...

【嵌入式硬件】LAN9253说明书(中文版)

目录 1.介绍 1.1总体介绍 1.2模式介绍 1.2.1微控制器模式: 1.2.2 扩展模式 1.2.3 数字IO模式 1.2.4 各模式图 2.引脚说明 2.1 引脚总览 2.2 引脚描述 2.2.1 LAN端口A引脚 2.2.2 LAN端口B引脚 2.2.3 LAN端口A和、B电源和公共引脚 2.2.4 SPI/SQI PINS 2.2.5 分布式时…...

Java学习手册:Java基本语法与数据类型

Java语言以其简洁明了的语法和强大的数据类型系统而闻名。掌握Java的基本语法和数据类型是成为一名合格Java开发者的第一步。本文将深入探讨Java的基本语法结构和数据类型,帮助读者打下坚实的基础。 Java的基本语法 Java语言的语法设计简洁而强大,强调…...

操作系统 3.4-段页结合的实际内存管理

段与页结合的初步思路 虚拟内存的引入: 为了结合段和页的优势,操作系统引入了虚拟内存的概念。虚拟内存是一段地址空间,它映射到物理内存上,但对用户程序是透明的。 段到虚拟内存的映射: 用户程序中的段首先映射到虚…...

金融简单介绍及金融诈骗防范

在当今社会,金融学如同一股无形却强大的力量,深刻影响着我们生活的方方面面。无论是个人的日常收支、投资理财,还是国家的宏观经济调控,都与金融学紧密相连。​ 一、金融学的概念​ 金融学,简单来说,是研…...

基于docker搭建redis集群环境

在redis目录下创建redis-cluster目录&#xff0c;创建docker-compose.yml文化和generate.sh文件 【配置generate.sh文件】 for port in $(seq 1 9); \ do \ mkdir -p redis${port}/ touch redis${port}/redis.conf cat << EOF > redis${port}/redis.conf port 6379 …...

CSS 中常见的布局相关属性及其功能分类

一、块级布局&#xff08;Block Layout&#xff09; 1. display 作用&#xff1a;定义元素的显示方式。常用值&#xff1a; block&#xff1a;块级元素&#xff0c;默认独占一行。inline&#xff1a;行内元素&#xff0c;与其他内容在同一行显示。inline-block&#xff1a;兼…...

用css画一条弧线

ui里有一条弧线&#xff0c;现在用css实现 关键代码 border-bottom-left-radius: 100% 7px 两个参数分别代表横向和纵向的深度border-bottom-right-radius: 100% 7px...

CesiumForUnreal 本地矢量文件的加载,支持 shp/geojson 等常用格式

实现效果 Cesium for Unreal 集成 GDAL、LibPng 实现加载本地矢量文件 实现步骤 添加依赖在 cesium-unreal 中 extern -> cesium-native -> CMakeLists.txt 中的 57 行添加依赖库,代码如下: set(PACKAGES_PRIVATEabseil draco ktx modp-base64 meshoptimizer openssl …...

面向基于发布-订阅的物联网网络的匿名 MQTT 分析

中文标题&#xff1a; 面向基于发布-订阅的物联网网络的匿名 MQTT 分析 英文标题&#xff1a; An Analysis of Anonymous MQTT for Publish-Subscribe-Based IoT Networks 作者信息 Yudai Fukushima&#xff1a;东京都立大学电气工程与计算机科学系硕士生&#xff0c;研究方向…...

<C#> 详细介绍.NET 依赖注入

在 .NET 开发中&#xff0c;依赖注入&#xff08;Dependency Injection&#xff0c;简称 DI&#xff09;是一种设计模式&#xff0c;它可以增强代码的可测试性、可维护性和可扩展性。以下是对 .NET 依赖注入的详细介绍&#xff1a; 1. 什么是依赖注入 在软件开发里&#xff0…...

批量给文件编排序号,支持数字序号及时间日期序号编排文件

当我们需要对文件进行编号的时候&#xff0c;我们可以通过这个工具来帮我们完成&#xff0c;它可以支持从 001 到 100 甚至更多的数字序号编号。也可以支持按照日期、时间等方式对文件进行编号操作。这是一种操作简单&#xff0c;处理起来也非常的高效文件编排序号的方法。 工作…...

乳腺癌识别:双模型融合

​本文为为&#x1f517;365天深度学习训练营内部文章 原作者&#xff1a;K同学啊​ import matplotlib.pyplot as plt import tensorflow as tf import warnings as w w.filterwarnings(ignore) # 支持中文 plt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 …...

ubuntu 22.04配置cuda和cudnn

cuda&#xff1a;12.1 wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run sudo sh cuda_12.1.1_530.30.02_linux.runAbort/Continue选择Continue&#xff0c;不要勾选自带的driver 配置环境变量。~/.bashrc e…...

为什么Java不支持多继承?如何实现多继承?

一、前言 Java不支持多继承&#xff08;一个类继承多个父类&#xff09;主要出于文中设计考虑&#xff1b;核心目的是简化语言复杂性并避免潜在的歧义性问题。 二、直接原因&#xff1a;菱形继承/钻石继承问题&#xff08;Diamond Problem&#xff09; 假设存在如下继承关系&…...

ESP32S3 链接到 WiFi

以下是关于如何让 ESP32S3 连接到 WiFi 的完整流程和代码示例&#xff1a; ESP32S3 链接到 WiFi 1. 设置工作模式 ESP32 可以工作在两种模式下&#xff1a; Station (STA) 模式&#xff1a;作为无线终端连接到无线接入点&#xff08;AP&#xff09;&#xff0c;类似于手机或…...

AndroidTV D贝桌面-v3.2.5-[支持文件传输]

AndroidTV D贝桌面 链接&#xff1a;https://pan.xunlei.com/s/VONXSBtgn8S_BsZxzjH_mHlAA1?pwdzet2# AndroidTV D贝桌面-v3.2.5[支持文件传输] 第一次使用的话&#xff0c;壁纸默认去掉的&#xff0c;不需要按遥控器上键&#xff0c;自己更换壁纸即可...

在spark中,窄依赖算子map和filter会组合为一个stage,这种情况下,map和filter是在一个task内进行的吗?

在 Spark 中&#xff0c;当 map 和 filter 这类窄依赖&#xff08;Narrow Dependency&#xff09;的算子连续应用时&#xff0c;它们会被合并到同一个 Stage 中&#xff0c;并且在同一个 Task 内按顺序执行。这种优化称为 流水线&#xff08;Pipeline&#xff09;执行&#xff…...

展讯android15源码编译之apk单编

首先找到你要单编的apk生成的路径&#xff1a; sys\out_system\target\product\ussi_arm64\system_ext\app\HelloDemo\HelloDemo.apk接着打开下面这个文件&#xff1a; sys\out_system\ussi_arm64_full-userdebug-gms.system.build.log在里面找关键字"Running command&q…...

EtherCAT 转 ModbusTCP 网关

一、功能概述 1.1 设备简介 本产品是 EtherCAT 和 Modbus TCP 网关&#xff0c;使用数据映射方式工作。 本产品在 EtherCAT 侧作为 EtherCAT 从站&#xff0c;接 TwinCAT 、 CodeSYS 、 PLC 等&#xff1b;在 ModbusTCP 侧做为 ModbusTCP 主站&#xff08; C…...

SpringBoot集成阿里云文档格式转换实现pdf转换word,excel

一、前置条件 1.1 创建accessKey 如何申请&#xff1a;https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair 1.2 开通服务 官方地址&#xff1a;https://docmind.console.aliyun.com/doc-overview 未开通服务时需要点击开通按钮&#xff0c;然后才能调用…...

大数据-271 Spark MLib - 基础介绍 机器学习算法 线性回归 场景 定义 损失 优化

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; MyBatis 更新完毕目前开始更新 Spring&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; H…...

ubuntu不生成core文件的处理

1、设置unlimited ulimit -a 查看是否设置&#xff0c;没有设置的使用下面命令设置 ulimit -c unlimited这个设置只在当前会话有效&#xff0c;添加到 ~/.bashrc 中&#xff0c;重开终端生效 2、sysctl配置 修改 /etc/sysctl.conf 文件 &#xff0c;增加以下两个配置&#…...

游戏服务器DDoS攻防实战指南——从攻击溯源到智能防护体系构建

本文深度解析游戏行业DDoS攻防技术演进路线&#xff0c;基于等保2.0与NIST框架&#xff0c;从攻击流量识别、弹性防护架构、智能调度算法三大维度&#xff0c;揭示游戏服务器防护体系的23个关键控制点。通过近期《永劫无间》服务器瘫痪事件复盘&#xff0c;结合Gartner最新混合…...

JAVA 导出 word

1、模板方式导出 1.1、引入 maven 依赖 <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.12.2</version> </dependency>1.2、导出文档代码 public static void main(String[] args…...

OpenHarmony 5.0版本视频硬件编解码适配

一、简介 Codec HDI&#xff08;Hardware Device Interface&#xff09;对上层媒体服务提供视频编解码的驱动能力接口&#xff0c;主要功能有获取组件编解码能力&#xff0c;创建、销毁编解码器对象&#xff0c;启停编解码器操作&#xff0c;编解码处理等。 Codec HDI 2.0接口…...

《Python星球日记》第23天:Pandas基础

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 订阅专栏&#xff1a;《Python星球日记》 目录 一、Pandas 简介1. 什么是 Pandas&…...

ubuntu22.04下安装mysql以及mysql-workbench

一、mysql安装以及配置 安装之前先查看是否已将安装mysql: rpm -qa | grep mysql (一)、在线安装 保证网络正常的情况下: 1、更新软件包: sudo apt update 2、安装mysql安装包 查看可以安装的安装包: sudo apt search mysql-server 安装指定安装包: sudo apt i…...

让 Python 脚本在后台持续运行:架构级解决方案与工业级实践指南

让 Python 脚本在后台持续运行&#xff1a;架构级解决方案与工业级实践指南 一、生产环境需求全景分析 1.1 后台进程的工业级要求矩阵 维度开发环境要求生产环境要求容灾要求可靠性单点运行集群部署跨机房容灾可观测性控制台输出集中式日志分布式追踪资源管理无限制CPU/Memo…...

设计模式 四、行为设计模式(2)

五、状态模式 1、概述 状态设计模式是一种行为型设计模式&#xff0c;它允许对象在其内部状态发生时改变其行为&#xff0c;这种模式可以消除大量的条件语句&#xff0c;并将每个状态的行为封装到单独的类中。 状态模式的主要组成部分如下&#xff1a; 1&#xff09;上…...

C++中作用域(public,private,protected

在C中&#xff0c;public、private 和 protected 是用于控制类成员&#xff08;变量和函数&#xff09;访问权限的关键字。它们决定了类成员在代码中的可见性和可访问性。在学习时候&#xff0c;对于public是最容易理解的&#xff0c;对于private也好理解&#xff0c;但是对于p…...

Spring配置方式演进:从XML到注解,构建灵活高效的开发体系

Spring配置方式演进&#xff1a;从XML到注解&#xff0c;构建灵活高效的开发体系 在Spring框架的演进长河中&#xff0c;配置方式始终是开发者需要掌握的核心技能。从早期XML一统天下的严谨规范&#xff0c;到注解驱动的敏捷开发&#xff0c;再到如今Java Config的优雅实践&am…...

网络4 OSI7层

OSI七层模型&#xff1a;数据如何传送&#xff0c;向下传送变成了什么样子 应用层 和用户打交道&#xff0c;向用户提供服务。 例如&#xff1a;web服务、http协议、FTP协议 1.用户接口 2.提供各种服务 通过浏览器&#xff08;接口&#xff09;提供Web服务 表示层 翻译 我的“…...

前端请求设置credentials: ‘include‘导致的cors问题

1.背景 前端请求设置credentials: ‘include‘其实主要是为了发送凭证&#xff0c;传cookie给后端 2.前端请求 fetch(http://frontend.com, { method: GET, // 或其他HTTP方法 credentials: include, // 不携带凭证 headers: { Content-Type: application/json, }, })…...

LabVIEW中VI Scripting 特定对象解析

该 LabVIEW 程序通过三条并行代码路径&#xff0c;借助 VI Scripting 功能&#xff0c;以特定方式解析程序框图对象&#xff0c;展示了不同方法在处理对象嵌套及特定范围对象时的差异。 ​ 上方文字&#xff1a;三条并行代码路径展示了解析程序框图的不同方式。第一条路径使用 …...

CISCO组建RIP V2路由网络

1.实验准备&#xff1a; 2.具体配置&#xff1a; 2.1根据分配好的IP地址配置静态IP&#xff1a; 2.1.1PC配置&#xff1a; PC0&#xff1a; PC1&#xff1a; PC2&#xff1a; 2.1.2路由器配置&#xff1a; R0&#xff1a; Router>en Router#conf t Enter configuration…...

性能飙升50%,react-virtualized-list如何优化大数据集滚动渲染

在处理大规模数据集渲染时&#xff0c;前端性能常常面临巨大的挑战。本文将探讨 react-virtualized-list 库如何通过虚拟化技术和 Intersection Observer API&#xff0c;实现前端渲染性能飙升 50% 的突破&#xff01;除此之外&#xff0c;我们一同探究下该库还支持哪些新的特性…...

超低功耗MCU软件开发设计中的要点与选型推荐

前沿-超低功耗MCU应用&#xff1a; 超低功耗MCU&#xff08;微控制器&#xff09;凭借其极低的功耗和高效的能量管理能力&#xff0c;正在快速渗透到多个新兴领域&#xff0c;尤其在物联网&#xff08;IoT&#xff09;、可穿戴设备、智能家居和医疗电子等领域展现出巨大的应用…...

Gson、Fastjson 和 Jackson 对比解析

目录 1. Gson (Google) 基本介绍&#xff1a; 核心功能&#xff1a; 特点&#xff1a; 使用场景&#xff1a; 2. Fastjson (Alibaba) 基本介绍&#xff1a; 核心功能&#xff1a; 特点&#xff1a; 使用场景&#xff1a; 3. Jackson 基本介绍&#xff1a; 核心功能…...

冒泡排序与回调函数——qsort

文章核心内容总结 本文围绕数组排序展开&#xff0c;先介绍了冒泡排序&#xff0c;后引入qsort库函数进行排序&#xff0c;并对二者进行了对比。 1. 冒泡排序实现 在探讨冒泡排序&#xff08;Bubble Sort&#xff09;这一经典的排序算法时&#xff0c;我们首先需要了解其基本…...

(四)机器学习---逻辑回归及其Python实现

之前我们提到了常见的任务和算法&#xff0c;本篇我们使用逻辑回归来进行分类 分类问题回归问题聚类问题各种复杂问题决策树√线性回归√K-means√神经网络√逻辑回归√岭回归密度聚类深度学习√集成学习√Lasso回归谱聚类条件随机场贝叶斯层次聚类隐马尔可夫模型支持向量机高…...

微信小程序开发:微信小程序上线发布与后续维护

微信小程序上线发布与后续维护研究 摘要 微信小程序作为移动互联网的重要组成部分,其上线发布与后续维护是确保其稳定运行和持续优化的关键环节。本文从研究学者的角度出发,详细探讨了微信小程序的上线发布流程、后续维护策略以及数据分析与用户反馈处理的方法。通过结合实…...

vue拓扑图组件

vue拓扑图组件 介绍技术栈功能特性快速开始安装依赖开发调试构建部署 使用示例演示截图组件源码 介绍 一个基于 Vue3 的拓扑图组件&#xff0c;具有以下特点&#xff1a; 1.基于 vue-flow 实现&#xff0c;提供流畅的拓扑图展示体验 2.支持传入 JSON 对象自动生成拓扑结构 3.自…...