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

Dubbo QoS操作手册

QOS 操作手册

QoS概述

启动参数

参数说明默认值
qos-enable是否启动Qostrue
qos-port启动Qos绑定的端口22222
qos-accept-foreign-ip是否运行远程访问false
qos-accept-foreign-whitelist支持的远端地址ip地址(段)
qos-anonymous-access-permission-lefel支持的匿名访问的权限级别PUBLIC(1)

注意,从2.6.4/2.7.0开始,qos-accept-foreign-ip默认为false,如果qos-accept-foreign-ip设置为true,有可能带来安全风险,需仔细评估后打开

示例

zzw@Macmini dubboDemo04 % telnet localhost 22221
Trying ::1...
Connected to localhost.
Escape character is '^]'.___   __  __ ___   ___   ____     / _ \ / / / // _ ) / _ ) / __ \  / // // /_/ // _  |/ _  |/ /_/ /    
/____/ \____//____//____/ \____/   
dubbo>ls 
As Provider side:
+------------------------------------------------------------------------------------+---------------------+
|                                Provider Service Name                               |         PUB         |
+------------------------------------------------------------------------------------+---------------------+
|DubboInternal - ServiceApplication01/org.apache.dubbo.metadata.MetadataService:1.0.0|nacos-A(N)/nacos-I(N)|
+------------------------------------------------------------------------------------+---------------------+
|                           com.doudou.demo.api.DemoService                          |nacos-A(Y)/nacos-I(Y)|
+------------------------------------------------------------------------------------+---------------------+
As Consumer side:
+---------------------+---+
|Consumer Service Name|NUM|
+---------------------+---+

端口

新版本的telnet端口和dubbo协议的端口(20880)是不同的端口,默认为22222。
可通过配置进行修改dubbo.application.qos-port=22221

安全

默认情况下,dubbo接口任何主机发起的命令。
可通过配置修改dubbo.application.qos-accept-foreign-ip=false,拒绝远端主机发出的命令,只允许服务本机执行。
通过可以通过设置qos-accept-foreign-ip-whitelist来指定支持的远程主机ip地址(段),多个IP地址(段)之间用逗号分隔。

dubbo.application.qos-accept-foreign-ip-whitelist=123.12.10.13, 132.12.10.13/24

权限

为了对生命周期探针的默认支持,QoS提供了匿名访问的能力以及对权限级别的设置,目前支持的权限级别有:

  • PUBLIC(1)
    • 默认支持匿名访问的命令权限级别,目前只支持生命周期探针相关的命令
  • PROTECTED(2)
    • 命令默认的权限级别
  • PRIVATE(3)
    • 保留的最高权限级别,目前未支持
  • NODE(4)
    • 最低权限级别,不支持匿名访问

权限级别 PRIVATE > PROTECTED > PUBLIC > NODE,高级别权限可访问同级别和低级别权限命令。

以下命令权限为PUBLIC,其它命令默认权限为PROTECTED

命令权限级别
LivePUBLIC(1)
StartupPUBLIC(1)
ReadyPUBLIC(1)
QuitPUBLIC(1)

默认情况下,dubbo允许匿名主机发起匿名访问,只有PUBLIC权限级别的命令可以执行,其它更高权限的命令会被拒绝。

关闭匿名访问

可以通过设置qos-anonymous-access-permission-level=NONE关闭匿名访问。

设置权限级别

dubbo.application.qos-anonymous-access-permission-level=PROTECTED

QoS命令列表

Qos命令说明telnet用法示例http用法示例
cd设定服务上下文,cd之后所有的命令都是针对该服务cd com.doudou.demo.api.DemoServicehttp://localhost:22222/cd?service=http://localhost:22222/cd?service=com.doudou.demo.api.DemoService
count展示服务或方法调用次数。暂时只支持 dubbo 协议,不支持 triple 协议;RpcStatus 实现依赖 Active/Limit Filter,需改造count com.doudou.demo.api.DemoServicehttp://localhost:22222/count?service=org.demo.DemoService&method=methodName
disableDetailProfiler关闭 RPC 调用 profiler 工具(细粒度版本)disableDetailProfilerhttp://localhost:22222/disableDetailProfiler
disableRouterSnapshot关闭 RPC 请求 Router 路由结果跟踪disableRouterSnapshothttp://localhost:22222/disableRouterSnapshot
disableSimpleProfiler关闭 RPC 调用 profiler 工具(粗粒度版)disableSimpleProfilerhttp://localhost:22222/disableSimpleProfiler
enableDetailProfiler开启 RPC 调用 profiler 工具(细粒度版本)enableDetailProfilerhttp://localhost:22222/enableDetailProfiler
enableRouterSnapshot开启 RPC 请求 Router 路由结果跟踪,有助于跟踪路由规则执行是否符合预期enableRouterSnapshot org.demo.DemoServicehttp://localhost:22222/enableRouterSnapshot?service=org.demo.DemoService
enableSimpleProfiler开启 RPC 调用 profiler 工具(粗粒度版)enableSimpleProfilerhttp://localhost:22222/enableSimpleProfiler
getAddress查看某个服务的有效 ip 地址列表getAddress org.demo.DemoServicehttp://localhost:22222/getAddress?service=org.demo.DemoService
getConfigdump 当前应用的有效配置getConfighttp://localhost:22222/getConfig
getEnabledRouterSnapshot查看当前 “启用 Router 路由结果跟踪” 的服务列表getEnabledRouterSnapshothttp://localhost:22222/getEnabledRouterSnapshot
getRecentRouterSnapshot查看最近 32 条 “Router 路由结果跟踪” 数据getRecentRouterSnapshothttp://localhost:22222/getRecentRouterSnapshot
gracefulShutdown从注册中心下线当前 ip 实例注册的所有服务,与offline的区别是,该命令会同时通过 tcp 连接告知所有消费方停止调用此实例。gracefulShutdownhttp://localhost:22222/gracefulShutdown
help帮助命令helphttp://localhost:22222/help
invoke调用某个 RPC 服务invoke org.demo.DemoService.methodName(1234, “abcd”, {“prop”:“value”})
live检查当前进程/服务是否存活,可配置为 kubernetes livenesslivehttp://localhost:22222/live
loggerInfo查看当前日志 logger 配置loggerInfohttp://localhost:22222/loggerInfo
ls查看当前所有服务列表lshttp://localhost:22222/ls
metrics查看 metrics 指标,需开启metrics 统计才能看到数据。什么粒度?metricshttp://localhost:22222/metrics
metrics_default查看 metrics 指标 ,需开启metrics 统计才能看到数据。什么粒度?metrics_defaulthttp://localhost:22222/metrics_default
offline从注册中心下线某个或多个服务(包含应用级和接口级地址)offline 或 offline org.demo.DemoServicehttp://localhost:22222/offline 或 http://localhost:22222/offline?service=org.demo.DemoService
offlineApp从注册中心下线某个或多个服务(仅应用级)offlineApp 或 offlineApp org.demo.DemoServicehttp://localhost:22222/offlineApp?service=org.demo.DemoService
offlineInterface从注册中心下线某个或多个服务(仅接口级)offlineInterface 或 offlineInterface org.demo.DemoServicehttp://localhost:22222/offlineInterface?service=org.demo.DemoService
online将一个或多个服务注册到注册中心(包含应用级和接口级地址)online 或 online org.demo.DemoServicehttp://localhost:22222/online?service=org.demo.DemoService
onlineApp将一个或多个服务注册到注册中心(仅应用级)onlineApp 或 onlineApp org.demo.DemoServicehttp://localhost:22222/onlineApp?service=org.demo.DemoService··············
onlineInterface将一个或多个服务注册到注册中心(仅接口级)onlineInterface 或 onlineInterface org.demo.DemoServicehttp://localhost:22222/onlineInterface?service=org.demo.DemoService
ps查看当前进程信息,包括监听的端口等pshttp://localhost:22222/ps
publishMetadata发布或更新当前应用Metadata数据(可用于手动更新应用级服务发现元数据)。publishMetadata 10 表示延迟 10s 发布。在3.3.0之前版本的命令为 publish-metadatapublishMetadatahttp://localhost:22222/publishMetadata
pwd查看当前服务上下文,与 cd 配合使用pwdhttp://localhost:22222/pwd
quit退出当前 telnet 命令quit
ready检查当前进程/服务是否准备就绪对外服务,可配置为 kubernetes readinessreadyhttp://localhost:22222/ready
serializeCheckStatus检查当前在序列化白名单中的类列表serializeCheckStatushttp://localhost:22222/serializeCheckStatus
serializeWarnedClasses检查当前在序列化警告名单中的类列表serializeWarnedClasseshttp://localhost:22222/serializeWarnedClasses
setProfilerWarnPercent控制序列化报警频率(仅限在警告名单中的类)setProfilerWarnPercent 0.75http://localhost:22222/setProfilerWarnPercent?k=0.75
shutdown尝试关闭当前 Dubbo 应用(销毁所有资源,重启前无法恢复)shutdownhttp://localhost:22222/shutdown
startup检查当前进程/服务是否已经正常启动,可配置为 kubernetes startupstartuphttp://localhost:22222/startup
switchLogLevel动态调整日志级别switchLogLevel debughttp://localhost:22222/switchLogLevel?k=debug
switchLogger切换日志logger组件。可用 logger 组件,可通过 loggerInfo 查看(切换前请务必确保应用已经加入相关组件依赖)switchLogger log4j2http://localhost:22222/switchLogger?k=log4j2
version查看当前使用的 Dubbo 框架版本versionhttp://localhost:22222/version

QoS命令详解

基础命令

help

列出所有命令

dubbo>help
+--------------------------+----------------------------------------------------------------------------------+
|                       cd | Change default service.                                                          |
+--------------------------+----------------------------------------------------------------------------------+
|                    count | Count the service.                                                               |
+--------------------------+----------------------------------------------------------------------------------+
|    disableDetailProfiler | Disable Dubbo Invocation Profiler.                                               |
+--------------------------+----------------------------------------------------------------------------------+
|    disableRouterSnapshot | Disable Dubbo Invocation Level Router Snapshot Print                             |
+--------------------------+----------------------------------------------------------------------------------+
|    disableSimpleProfiler | Disable Dubbo Invocation Profiler.                                               |
+--------------------------+----------------------------------------------------------------------------------+
version

显示当前运行的dubbo版本号

dubbo>version
dubbo version "3.1.6"
quit

退出命令状态

dubbo>quit
BYE!
Connection closed by foreign host.

服务管理命令

ls

列出服务消费者和提供者

dubbo>ls 
As Provider side:
+------------------------------------------------------------------------------------+---------------------+
|                                Provider Service Name                               |         PUB         |
+------------------------------------------------------------------------------------+---------------------+
|DubboInternal - ServiceApplication01/org.apache.dubbo.metadata.MetadataService:1.0.0|nacos-A(N)/nacos-I(N)|
+------------------------------------------------------------------------------------+---------------------+
|                           com.doudou.demo.api.DemoService                          |nacos-A(Y)/nacos-I(Y)|
+------------------------------------------------------------------------------------+---------------------+
As Consumer side:
+-----------------------------------------+-----------------+
|Consumer Service Name|NUM|
+-----------------------------------------+-----------------
|com.dubbo.dubbointegration.BackendService|nacos-AF(I-2,A-2)|
+-----------------------------------------+-----------------+

注意

  • 带有 DubboInternal 前缀的服务是 Dubbo 内置的服务,默认不向注册中心中注册。
  • 服务发布状态中的 nacos-A(Y) 第一部分是对应的注册中心名,第二部分是注册的模式(A 代表应用级地址注册,I 代表接口级地址注册),第三部分代表对应模式是否已经注册
  • 服务订阅状态中的 nacos-AF(I-2,A-2) 第一部分是对应的注册中心名,第二部分是订阅的模式(AF 代表双订阅模式,FA 代表仅应用级订阅,FI 代表仅接口级订阅),第三部分中前半部分代表地址模式来源(A 代表应用级地址,I 代表接口级地址)后半部分代表对应的地址数量
online

当使用延迟发布功能的时候(通过设置 org.apache.dubbo.config.AbstractServiceConfig#register 为 false),后续需要上线的时候,可通过 Online 命令

# 上线全部服务
dubbo>online
OK
# 上线部分服务
dubbo>online com.doudou.*
OK
offline

由于故障等原因,需要临时下线服务保持现场,可以使用 Offline 下线命令。

# 下线全部服务
dubbo>offline
OK
# 下线部分服务
dubbo>offline com.doudou.*
OK

框架状态命令

startup

检测当前框架是否已经启动完毕

dubbo>startup
true
ready

检测当前框架是否能正常提供服务(可能是临时下线)

dubbo>ready
false
live

检测当前框架是否正常运行(可能是永久异常)

dubbo>live
true

性能采样命令

性能采样功能可以对 Dubbo 处理链路上的各处耗时进行检测,在出现超时的时候 ( usageTime / timeout > profilerWarnPercent * 100 ) 通过日志记录调用的耗时。
此功能分为 simple profiler 和 detail profiler 两个模式,其中 simple profiler 模式默认开启,detail profiler 模式默认关闭。 detail profiler 相较 simple profiler 模式多采集了每个 filter 的处理耗时、协议上的具体耗时等。 在 simple profiler 模式下如果发现 Dubbo 框架内部存在耗时长的情况,可以开启 detail profiler 模式,以便更好地排查问题。

enableSimpleProfiler

开启 simple profiler 模式,默认开启

dubbo>enableSimpleProfiler
OK
disableSimpleProfiler

关闭 simple profiler 模式,关闭后 detail profiler 也将不启用

dubbo>disableSimpleProfiler
OK
enableDetailProfiler

开启 detail profiler 模式,默认关闭,需要开启 simple profiler 模式才会真实开启

dubbo>enableDetailProfiler
OK. This will cause performance degradation, please be careful!
disableDetailProfiler

关闭 detail profiler 模式,关闭后不影响 simple profiler

dubbo>disableDetailProfiler
OK
setProfilerWarnPercent

设置超时时间的警告百分比。
命令:setProfilerWarnPercent {profilerWarnPercent}
profilerWarnPercent: 超时时间的警告百分比,取值范围 0.0 ~ 1.0,默认值为 0.75

dubbo>setProfilerWarnPercent 0.75
OK

路由状态命令

Dubbo 的很多流量治理能力是基于 Router 进行实现的,在生产环境中,如果出现流量结果不符合预期的情况,可以通过路由状态命令来查看路由的状态,以此来定位可能存在的问题。

getRouterSnapshot

获取当前的每层路由的分组状态。(仅支持 StateRouter)
命令:getRouterSnapshot {serviceName}
serviceName 为需要采集的服务名,支持匹配

enableRouterSnapshot

开启路由结果采集模式
命令:enableRouterSnapshot {serviceName}
serviceName 为需要采集的服务名,支持匹配

disableRouterSnapshot

关闭路由结果采集模式
命令:disableRouterSnapshot {serviceName}
serviceName 为需要采集的服务名,支持匹配

getEnabledRouterSnapshot

获取当前已经开启采集的服务

getRecentRouterSnapshot

通过 qos 命令获取历史的路由状态。(最多存储 32 个结果)

序列化安全审计

Dubbo 支持通过 QoS 命令实时查看当前的配置信息以及可信/不可信类列表。目前共支持两个命令:serializeCheckStatus 查看当前配置信息,serializeWarnedClasses 查看实时的告警列表。

serializeCheckStatus
dubbo>serializeCheckStatus
CheckStatus: WARNCheckSerializable: trueAllowedPrefix:
[C
[I
[J
[Ljava.io.ObjectStreamField;
boolean
byte
cha
...
pstore.shaded.org.apache.commons.collections.
sun.print.
sun.rmi.server.
sun.rmi.transport.
weblogic.ejb20.internal.
weblogic.jms.common.

http://localhost:22221/serializeCheckStatus

{"checkStatus": "WARN", "allowedPrefix": ["java.lang.Float", "java.lang.IndexOutOfBoundsException", "java.util.Collections$UnmodifiableSortedSet", "java.lang.Integer", "java.util.Collections$UnmodifiableSortedMap", "java.math.BigDecimal", "......","com.alipay.oceanbase.obproxy.druid.pool.", "org.mozilla.javascript", "org.osjava.sj.", "org.apache.ibatis.reflection.", "org.apache.http.auth.", "sun.print.", "bsh.", "javax.print.", "org.aoju.bus.proxy.provider."]
}
serializeWarnedClasses

相关文章:

Dubbo QoS操作手册

QOS 操作手册 QoS概述 启动参数 参数说明默认值qos-enable是否启动Qostrueqos-port启动Qos绑定的端口22222qos-accept-foreign-ip是否运行远程访问falseqos-accept-foreign-whitelist支持的远端地址ip地址(段)无qos-anonymous-access-permission-lefe…...

-实用类-

1. API是什么 2.什么是枚举 !有点类似封装! 2.包装类 注意: 1.Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false 2.当包装类构造方法参…...

Apache Parquet 文件组织结构

简要概述 Apache Parquet 是一个开源、列式存储文件格式,最初由 Twitter 与 Cloudera 联合开发,旨在提供高效的压缩与编码方案以支持大规模复杂数据的快速分析与处理。Parquet 文件采用分离式元数据设计 —— 在数据写入完成后,再追加文件级…...

Spring 事务管理核心机制与传播行为应用

Spring 事务详解 一、Spring 事务简介 Spring 事务管理基于 AOP(面向切面编程)实现,通过 声明式事务(注解或 XML 配置)统一管理数据库操作,确保数据一致性。核心目标:保证多个数据库操作的原子…...

从零开始解剖Spring Boot启动流程:一个Java小白的奇幻冒险之旅

大家好呀!今天我们要一起探索一个神奇的话题——Spring Boot的启动流程。我知道很多小伙伴一听到"启动流程"四个字就开始头疼,别担心!我会用最通俗易懂的方式,带你从main()方法开始,一步步揭开Spring Boot的…...

集合框架(重点)

1. 什么是集合框架 List有序插入对象,对象可重复 Set无序插入对象,对象不可重复(重复对象插入只会算一个) Map无序插入键值对象,键只唯一,值可多样 (这里的有序无序指的是下标,可…...

IPv4地址分类与常用网络地址详解

常见的 IPv4 地址分类: 1. A 类地址(Class A) 范围:0.0.0.0 到 127.255.255.255 默认子网掩码:255.0.0.0 或 /8 用途:通常用于大型网络,例如大型公司、组织。 特点: 网络地址范围…...

模拟实现memmove,memcpy,memset

目录 前言 一、模拟实现memmove 代码演示: 二、模拟实现memcpy 代码演示: 三、模拟实现memset 代码演示: 总结 前言 这篇文章主要讲解了库函数的模拟实现,包含memmove,memcpy,memset 一、模拟实现m…...

uni-app 开发安卓 您的应用在运行时,向用户索取(定位、相机、存储)等权限,未同步告知权限申请的使用目的,不符合相关法律法规要求

您的应用在运行时,向用户索取(定位、相机、存储)等权限,未同步告知权限申请的使用目的,不符合相关法律法规要求。 测试步骤:1、 工作台 -打卡,申请定位权限;2、工作台-设置-编辑资料-更换头像,申请相机、存 储权限。 修改建议:APP在申请敏感权限时,应同步说明权限申…...

RHCSA Linux 系统文件内容显示2

6. 过滤文件内容显示 grep (1)功能:在指定普通文件中查找并显示含指定字符串的行,也可与管道符连用。 (2)格式:grep 选项... 关键字字符串 文件名... (3)常用选项及说…...

C语言状态字与库函数详解:概念辨析与应用实践

C语言状态字与库函数详解:概念辨析与应用实践 一、状态字与库函数的核心概念区分 在C语言系统编程中,"状态字"和"库函数"是两个经常被混淆但本质完全不同的概念,理解它们的区别是掌握系统编程的基础。 1. 状态字&…...

【2】Kubernetes 架构总览

Kubernetes 架构总览 主节点与工作节点 主节点 Kubernetes 的主节点(Master)是组成集群控制平面的关键部分,负责整个集群的调度、状态管理和决策。控制平面由多个核心组件构成,包括: kube-apiserver:集…...

Redis下载

目录 安装包 1、使用.msi方式安装 2.使用zip方式安装【推荐方式】 添加环境变量 配置后台运行 启动: 1.startup.cmd的文件 2.cmd窗口运行 3.linux源码安装 (1)准备安装环境 (2)上传安装文件 (3&…...

React 文章 分页

删除功能 携带路由参数跳转到新的路由项 const navigate useNavigate() 根据文章ID条件渲染...

OpenCV 图形API(39)图像滤波----同时计算图像在 X 和 Y 方向上的一阶导数函数SobelXY()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::gapi::SobelXY 函数是 OpenCV 的 G-API 模块中用于同时计算图像在 X 和 Y 方向上的一阶导数(即 Sobel 边缘检测)的一…...

传导发射测试(CE)和传导骚扰抗扰度测试(CS)

传导发射测试(CE): 测量接收机: 是EMI测试中最常用的基本测试仪器,仪器类型包括准峰值测量接收机、峰值测量接收机、平均值测量接收机和均方根值测量接收机。测量接收机的几个重要指标分别是:6dB处的带宽、充电时间常数、放电时…...

ubuntu 查看现在服务使用的端口

1. 使用netstat命令 netstat是一个常用的网络工具,可以显示网络连接、路由表、接口统计等信息。虽然在较新的系统中netstat可能被ss命令替代,但仍然可以通过安装net-tools包来使用它。 安装net-tools: sudo apt-get install net-tools 查看…...

即插即用模块(1) -MAFM特征融合

(即插即用模块-特征处理部分) 一、(2024) MAFM&MCM 特征融合特征解码 paper:MAGNet: Multi-scale Awareness and Global fusion Network for RGB-D salient object detection 1. 多尺度感知融合模块 (MAFM) 多尺度感知融合模块 (MAFM) 旨在高效融合 RGB 和深度…...

(学习总结34)Linux 库制作与原理

Linux 库制作与原理 库的概念静态库操作归档文件命令 ar静态库制作静态库使用 动态库动态库制作动态库使用与运行搜索路径问题解决方案方案2:建立同名软链接方案3:使用环境变量 LD_LIBRARY_PATH方案4:ldconfig 方案 使用外部库目标文件ELF 文…...

DSP28335入门学习——第一节:工程项目创建

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做! 本文写于:2025.04.20 DSP28335开发板学习——第一节:工程项目创建 前言开发板说明引用解答…...

MDG 实现后端主数据变更后快照自动刷新的相关设置

文章目录 前言实现过程BGRFC期初配置(可选)设置 MDG快照 BGRFC维护BP出站功能模块 监控 前言 众所周知,在MDG变更请求创建的同时,所有reuse模型实体对应的快照snapshot数据都会记录下来。随后在CR中,用户可以修改这些…...

基于瑞芯微RK3562 的四核 AR M Cortex-A53 + 单核 ARM Cortex-M0——MQTT通信方案

前 言 本文主要介绍创龙科技TL3562-MiniEVM评估板基于MQTT通信协议的开发案例,适用开发...

Java 实体类链式操作

目录 1. 使用返回 this 的 setter 方法 2. 使用 Lombok 的 Accessors 注解 3. 建造者模式 (Builder Pattern) 比较 链式设置参数(也称为链式调用或方法链)是一种编程风格,可以让代码更加简洁易读。在 Java 实体类中实现链式设置参数通常有…...

【Linux】Linux 操作系统 - 05 , 软件包管理器和 vim 编辑器的使用 !

文章目录 前言一、软件包管理器1 . 软件安装2 . 包管理器3 . Linux 生态 二、软件安装 、卸载三、vim 的使用1 . 什么是 vim ?2 . vim 多模式3 . 命令模式 - 命令4 . 底行模式 - 命令5. 插入模式6 . 替换模式7 . V-BLOCK 模式8 . 技巧补充 总结 前言 本篇笔者将会对软件包管理…...

【操作系统原理05】存储器管理

大纲 文章目录 大纲一. 内存基础知识0.大纲1.什么是内存2.进程运行基本原理2.1 指令工作原理2.2逻辑地址VS物理地址2.3 从写程序到程序运行完整运行三种链接方式 二.内存管理0.大纲1.操作系统进行内存管理 三.覆盖与交换0.大纲1.覆盖技术2.交换技术 四.连续分配管理方式0.大纲1…...

学习笔记—C++—string(练习题)

练习题 仅仅反转字母 917. 仅仅反转字母 - 力扣(LeetCode) 题目 给你一个字符串 s ,根据下述规则反转字符串: 所有非英文字母保留在原有位置。所有英文字母(小写或大写)位置反转。 返回反转后的 s 。…...

[Swift]Xcode模拟器无法请求http接口问题

1.以前偷懒一直是这样设置 <key>NSAppTransportSecurity</key> <dict><key>NSAllowsArbitraryLoads</key><true/><key>NSAllowsArbitraryLoadsInWebContent</key><true/> </dict> 现在我在Xcode16.3上&#xff…...

返回之术:用 navigate(-1) 闯荡前端江湖

前言 在前端这片江湖,页面跳转宛如轻功水上漂,来去无踪,飘忽不定。但其中有一门绝学,专治“回头是岸”之需求,那便是 React Router 中的 navigate(-1) 身法。 昔日我闯荡项目林,误入“下一页”禁地,一脚踏空,身陷页面迷阵。正当我焦头烂额之际,师父袖袍一挥,口吐一…...

《Operating System Concepts》阅读笔记:p748-p748

《Operating System Concepts》学习第 64 天&#xff0c;p748-p748 总结&#xff0c;总计 1 页。 一、技术总结 1.Transmission Control Protocol(TCP) 重点是要自己能画出其过程&#xff0c;这里就不赘述了。 二、英语总结(生词&#xff1a;3) transfer, transport, tran…...

基于深度学习的线性预测:创新应用与挑战

一、引言 1.1 研究背景 深度学习作为人工智能领域的重要分支&#xff0c;近年来在各个领域都取得了显著的进展。在线性预测领域&#xff0c;深度学习也逐渐兴起并展现出强大的潜力。传统的线性预测方法在处理复杂数据和动态变化的情况时往往存在一定的局限性。而深度学习凭借…...