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

在 Spring Boot 中选择合适的 HTTP 客户端

在现代的 Spring Boot 应用程序中,与外部服务进行 HTTP 通信是一个常见的需求。Spring Boot 提供了多种方式来实现 HTTP 请求,包括 Java 的 HttpClient、Spring 的 RestTemplateWebClient,以及第三方库如 Apache HttpClient。本文将详细介绍这些 HTTP 客户端的使用方法,并提供示例代码,帮助你根据具体需求选择合适的工具。

1. Java 的 HttpClient(Java 11+)

Java 11 引入了 HttpClient,这是一个现代的 HTTP 客户端,支持同步和异步请求。它内置在 JDK 中,无需额外依赖,非常适合处理简单的 HTTP 请求。

示例代码

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;public class HttpClientExample {public static void main(String[] args) {// 创建 HttpClient 实例HttpClient client = HttpClient.newHttpClient();// 创建 HTTP 请求HttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://jsonplaceholder.typicode.com/posts/1")).header("Content-Type", "application/json").build();// 发送请求并获取响应try {HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());System.out.println("Status Code: " + response.statusCode());System.out.println("Response Body: " + response.body());} catch (IOException | InterruptedException e) {e.printStackTrace();}}
}

优点

  • 内置在 JDK 中,无需额外依赖。
  • 支持同步和异步操作。
  • 现代化的 API 设计,易于使用。

缺点

  • 功能相对简单,对于复杂的 HTTP 请求(如代理、重试机制等)支持有限。

2. Spring 的 RestTemplate

RestTemplate 是 Spring 提供的一个同步 HTTP 客户端,适用于简单的 HTTP 请求。它提供了丰富的 HTTP 方法支持,并且可以轻松地与 Spring 的其他功能(如 @RestController)集成。

示例代码

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.client.RestTemplate;@SpringBootApplication
public class RestTemplateExample {public static void main(String[] args) {SpringApplication.run(RestTemplateExample.class, args);RestTemplate restTemplate = new RestTemplate();// 发送 GET 请求String url = "https://jsonplaceholder.typicode.com/posts/1";String response = restTemplate.getForObject(url, String.class);System.out.println("Response: " + response);}
}

优点

  • 简单易用,适合同步 HTTP 请求。
  • 与 Spring 生态系统无缝集成。
  • 提供丰富的 HTTP 方法支持。

缺点

  • 只支持同步操作,不适合高并发场景。
  • 已被标记为过时(在 Spring 5.0 中),未来可能会被完全移除。

3. Spring 的 WebClient

WebClient 是 Spring 5 引入的一个响应式 HTTP 客户端,支持异步和非阻塞操作。它基于 Project Reactor,适用于处理高并发的 HTTP 请求。

示例代码

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.reactive.function.client.WebClient;@SpringBootApplication
public class WebClientExample {public static void main(String[] args) {SpringApplication.run(WebClientExample.class, args);// 创建 WebClient 实例WebClient webClient = WebClient.create();// 发送 GET 请求String url = "https://jsonplaceholder.typicode.com/posts/1";String response = webClient.get().uri(url).retrieve().bodyToMono(String.class).block(); // 阻塞等待响应System.out.println("Response: " + response);}
}

优点

  • 支持异步和非阻塞操作,适合高并发场景。
  • 基于 Project Reactor,与 Spring WebFlux 无缝集成。
  • 提供丰富的 HTTP 方法支持。

缺点

  • 学习曲线较陡,需要理解响应式编程的概念。
  • 需要使用 block() 方法来阻塞等待响应,否则需要处理响应式流。

4. Apache HttpClient

Apache HttpClient 是一个功能强大的 HTTP 客户端库,支持复杂的 HTTP 请求(如代理、重试机制等)。它是一个独立的库,不依赖于 Spring。

示例代码

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;public class ApacheHttpClientExample {public static void main(String[] args) {try (CloseableHttpClient httpClient = HttpClients.createDefault()) {// 创建 HTTP GET 请求HttpGet request = new HttpGet("https://jsonplaceholder.typicode.com/posts/1");// 发送请求并获取响应try (CloseableHttpResponse response = httpClient.execute(request)) {String responseBody = EntityUtils.toString(response.getEntity());System.out.println("Status Code: " + response.getStatusLine().getStatusCode());System.out.println("Response Body: " + responseBody);}} catch (Exception e) {e.printStackTrace();}}
}

优点

  • 功能强大,支持复杂的 HTTP 请求。
  • 提供丰富的配置选项(如代理、重试机制等)。
  • 不依赖于 Spring,可以独立使用。

缺点

  • 配置较为复杂,需要手动管理连接池和线程。
  • 代码较为冗长,不如 Spring 的客户端简洁。

5. Elasticsearch 的 RestHighLevelClient

如果你需要与 Elasticsearch 交互,可以使用 RestHighLevelClient。这是一个专门用于与 Elasticsearch 通信的客户端,提供了丰富的功能。

示例代码

import org.elasticsearch.client.Request;
import org.elasticsearch.client.Response;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;public class ElasticsearchHttpClientExample {public static void main(String[] args) {// 创建 RestHighLevelClient 实例RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9200, "http")));// 创建请求Request request = new Request("GET", "/_cluster/health");// 发送请求并获取响应try {Response response = client.getLowLevelClient().performRequest(request);String responseBody = new String(response.getEntity(), StandardCharsets.UTF_8);System.out.println("Response Body: " + responseBody);} catch (IOException e) {e.printStackTrace();} finally {// 关闭客户端client.close();}}
}

优点

  • 专门用于与 Elasticsearch 通信,功能丰富。
  • 提供低级和高级 API,满足不同需求。

缺点

  • 仅适用于与 Elasticsearch 交互。
  • 需要额外的依赖和配置。

总结

在 Spring Boot 中,选择合适的 HTTP 客户端取决于你的具体需求:

  • 如果你需要一个简单的同步客户端,可以选择 Java 的 HttpClientSpring 的 RestTemplate
  • 如果你需要处理高并发的异步请求,Spring 的 WebClient 是一个不错的选择。
  • 如果你需要一个功能强大的客户端,支持复杂的 HTTP 请求,可以考虑 Apache HttpClient
  • 如果你需要与 Elasticsearch 交互,可以使用 Elasticsearch 的 RestHighLevelClient

相关文章:

在 Spring Boot 中选择合适的 HTTP 客户端

在现代的 Spring Boot 应用程序中&#xff0c;与外部服务进行 HTTP 通信是一个常见的需求。Spring Boot 提供了多种方式来实现 HTTP 请求&#xff0c;包括 Java 的 HttpClient、Spring 的 RestTemplate、WebClient&#xff0c;以及第三方库如 Apache HttpClient。本文将详细介绍…...

Go语言中 源文件开头的 // +build 注释的用法

// build注释主要用于实现条件编译。借助设置不同的构建标签&#xff08;build tags&#xff09;&#xff0c;我们能够指定在特定的操作系统、架构或者其他自定义条件下才编译某个文件 1、基本规则 格式要求&#xff1a; 这种注释必须出现在文件的开头部分。注释与包声明之间至…...

C++八股 —— map/unordered_map

1. 底层数据结构 map —— 红黑树 随处可见的红黑树&#xff1a;原理、实现及应用场景 - 知乎 unordered_map —— 散列表 [C] 哈希表&#xff08;散列表&#xff09;详解_c哈希表-CSDN博客 2. 常见面试题 底层为红黑树的容器有哪些 mapmultimapsetmultiset 红黑树和AVL树…...

PostgreSQL创建只读账号

环境说明 部署环境&#xff1a;linux服务器docker容器部署 数据库&#xff1a;PostgreSQL 成果 只读账号/密码&#xff1a;read_only/xxx123 授权可读库&#xff1a;xxx、xxxdata 操作过程 #进入PostgreSQL容器&#xff08;如果你没有用docker容器忽略这一步就可以了&#xff…...

DVWA靶场保姆级通关教程--06不安全验证机制

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 原理详解 1. 前后端验证逻辑不一致 2. 验证码值保存在客户端 3. 验证码可预测或重复 4. 验证码验证与逻辑解耦 一、处理关卡报错 二、low级别源…...

【日撸 Java 三百行】Day 7(Java的数组与矩阵元素相加)

目录 Day 7&#xff1a;Java 的数组与矩阵元素相加 一、基本知识 二、矩阵的建立与基本计算 三、代码及测试 拓展&#xff1a;Arrays类详解 小结 Day 7&#xff1a;Java 的数组与矩阵元素相加 Task&#xff1a; 矩阵的赋值.二重循环. 一、基本知识 在学习 Java 中的数组与矩…...

【递归、搜索和回溯】递归、搜索和回溯介绍及递归类算法例题

个人主页 &#xff1a; zxctscl 专栏 【C】、 【C语言】、 【Linux】、 【数据结构】、 【算法】 如有转载请先通知 文章目录 递归、搜索和回溯递归搜索VS 深度优先遍历 VS 深度优先搜索 VS 宽度优先遍历 VS 宽度优先搜索 VS 暴搜回溯与剪枝 1 面试题 08.06. 汉诺塔问题1.1 分析…...

2025最新精选5款3DMAX建筑可视化插件

在3DMAX建筑可视化领域&#xff0c;各类工具如同繁星般璀璨&#xff0c;它们为设计师们搭建起通往理想作品的桥梁。今天&#xff0c;就让我们一同走进几款极具特色的工具——RetailStore插件、2Dto3D插件、DrawFloorPlan插件、MaxToCAD插件以及EXR透视贴图技术&#xff0c;探寻…...

麒麟系统使用-个性化设置

文章目录 前言一、个性化设置-背景二、个性化设置-主题三、个性化设置-锁屏四、个性化设置-屏保五、个性化设置-字体总结 前言 与windows系统相比&#xff0c;麒麟系统中的个性化设置大体相似&#xff0c;在细节上稍有不同。本文将讲述麒麟系统中的个性化设置中的各个模块。 一…...

flask开启https服务支持

目录 一、背景 二、开启https支持 三、自签名 1、安装openssl 2、验证安装 3、自签名 四、编写代码 五、访问https接口 一、背景 最近在做自动化业务&#xff0c;需要兼容现在主流的框架开发的前端页面&#xff0c;于是到github找到了几个项目&#xff0c;clone下来项目并…...

CNN处理图片

In [5]: 123456789101112131415161718192021222324252627282930313233import tensorflow as tf​import matplotlib.pyplot as plt​import numpy as np​​​​# 平滑均值滤波#KaTeX parse error: Expected EOF, got _ at position 14: \text {filter_̲{arg}np.}.full (sha…...

【Bootstrap V4系列】学习入门教程之 组件-表单(Forms)

Bootstrap V4系列 学习入门教程之 组件-表单&#xff08;Forms&#xff09; 表单&#xff08;Forms&#xff09;一、Overview二、Form controls 表单控件2.1 Sizing 尺寸2.2 Readonly 只读2.3 Readonly plain text 只读纯文本 三、Checkboxes and radios 复选框和单选框3.1 Def…...

图像来源:基于协同推理的双视角超声造影分类隐式数据增强方法|文献速递-深度学习医疗AI最新文献

Title 题目 Image by co-reasoning: A collaborative reasoning-based implicit data augmentation method for dual-view CEUS classification 图像来源&#xff1a;基于协同推理的双视角超声造影分类隐式数据增强方法 01 文献速递介绍 结合了B型超声&#xff08;BUS&…...

MySQL性能分析工具:SHOW PROCESSLIST

概述 以下是一份详细的 MySQL SHOW PROCESSLIST 使用教程&#xff0c;帮助您监控和分析数据库当前活动&#xff0c;快速定位性能问题资料已经分类整理好&#xff0c;喜欢的朋友自取&#xff1a;https://pan.quark.cn/s/f52968c518d3 1. 命令基本作用 SHOW PROCESSLIST 显示当…...

Linux网络编程day8本地套接字

本地套接字 利用cs模型实现本地套接字完成进程间通信 对比网络编程TCP C/S模型&#xff0c;注意以下几点 1、int socket(int domain, int type, int protocol); domain-->AF_INET改为AF_UNIX , type都可写SOCK_STREAM/SOCK_DGRAM2、地址结构 sockaddr_in -->sockadd…...

使用 React Native实现鸿蒙开发的详细方案

一、环境准备 1. 基础环境要求 操作系统:Windows 10/11 或 macOS (建议版本最新)Node.js: v16.x 或更高版本npm: v8.x 或更高版本Java JDK: 11 或更高版本DevEco Studio: 3.1 或更高版本 (鸿蒙官方IDE)2. 安装 DevEco Studio 从华为开发者官网下载安装时选择以下组件: Harmo…...

WebRTC流媒体传输协议RTP点到点传输协议介绍,WebRTC为什么使用RTP协议传输音视频流?

通过上一章《WebRTC工作原理详细介绍、WebRTC信令交互过程和WebRTC流媒体传输协议介绍》&#xff0c;我们知道WEBRTC在完成 SDP 协商和 ICE 候选交换信令后&#xff0c;双方就可以建立 RTP 流&#xff0c;开始传输音视频数据&#xff0c;这时&#xff0c;RTP 数据包就通过在 IC…...

【Unity笔记】PathCreator使用教程:用PathCreator实现自定义轨迹动画与路径控制

在Unity开发过程中&#xff0c;角色移动、摄像机动画、轨道系统、AI巡逻等功能中&#xff0c;路径控制是常见又复杂的需求之一。如何优雅、高效地创建路径并控制对象沿路径运动&#xff0c;是游戏开发、动画制作乃至工业仿真中的关键问题。 在这篇文章中&#xff0c;我将介绍一…...

生产安全管理系统标杆

生产安全不容小视&#xff0c;防患于未然是企业安全生产的基石。好的安全预防系统能让隐患产生最初就被扼杀在摇篮里。国内一些好的生产安全防范系统也有很多&#xff0c;今天我们主要介绍一下众联心安这款产品。 安全生产管理,目标制度管理,风险隐患管理,应急安全管理,设备设…...

temu采购自养号全流程解析:从账号搭建到安全下单的技术闭环

temu 自养号采购下单技术是一个精细的过程&#xff0c;需要从多个方面进行考虑和操作&#xff0c;其核心在于通过技术手段模拟真实用户行为&#xff0c;构建独立、安全的账号环境以确保账号的安全性、真实性和采购下单的成功率。以下是对该技术的详细解析 1. 账号准备 手机号…...

MySQl 数据库操作

目录 一、MySQL 数据库介绍 二、MySQl 库操作 1. 系统数据库 2. 数据库操作 &#xff08;1&#xff09;创建数据库 &#xff08;2&#xff09;数据库命名规则 &#xff08;3&#xff09;选择数据库 &#xff08;4&#xff09;查看数据库 &#xff08;5&#xff09;删除…...

OpenHarmony launcher开发——删除dock栏

开发环境 OpenHarmony 5.0.0 代码修改 效果...

zst-2001 历年真题 设计模式

设计模式 - 第1题 a 设计模式 - 第2题 一个产品可以产生多个就是抽象&#xff0c;一个就是工厂 比如这样 第二题a是意图 bc: d 设计模式 - 第3题 b 设计模式 - 第4题 类图里全是builder,疯狂暗示 设计模式 - 第5题 aa 设计模式 - 第6题 只有工厂方法是创…...

Vue3 + Element Plus 动态表单实现

完整代码 <template><div class"dynamic-form-container"><el-formref"dynamicFormRef":model"formData":rules"formRules"label-width"auto"label-position"top"v-loading"loading"&g…...

QML AnimatedImage组件详解

目录 引言相关阅读基础知识&#xff1a;AnimatedImage核心属性与方法工程结构与示例展示工程结构示例1&#xff1a;可控制播放/暂停的AnimatedImage示例2&#xff1a;带进度条的AnimatedImage主界面整合&#xff08;SwipeView滑动展示&#xff09; 总结下载链接 引言 在UI开发…...

Ascend的aclgraph(2)_npu_backend中还有些什么秘密?

1 _npu_backend 文章还是从代码开始 import torch_npu, torchair config torchair.CompilerConfig() # 设置图下沉执行模式 config.mode "reduce-overhead" npu_backend torchair.get_npu_backend(compiler_configconfig) opt_model torch.compile(model, back…...

免布线视频桩:智慧城市停车降本增效的破局利器

在智慧城市建设的进程中&#xff0c;传统停车管理面临成本高、效率低、施工复杂等难题。而视频桩作为创新解决方案&#xff0c;以“免布线、智能化”为核心&#xff0c;正逐步改变这一局面。视频桩通过融合物联网与AI技术&#xff0c;实现自动化监测与数据实时管理&#xff0c;…...

Vulfocus靶场-文件上传-2

monstra 文件上传 &#xff08;CVE-2020-13384&#xff09; Monstra 是一个现代化的轻量级内容管理系统。它易于安装、升级和使用。 Monstra CMS 3.0.4版本中存在着一处安全漏洞&#xff0c;该漏洞源于程序没有正确验证文件扩展名。攻击者可以上传特殊后缀的文件执行任意PHP代…...

nvidia-smi 和 nvcc -V 作用分别是什么?

命令1&#xff1a;nvidia-smi 可以查看当前显卡的驱动版本&#xff0c;以及该驱动支持的CUDA版本。 命令2&#xff1a;nvcc -V 可以看到实际安装的CUDA工具包版本为 12.8 更详细的介绍&#xff0c;可以参考如下链接...

力扣刷题(第二十一天)

灵感来源 - 保持更新&#xff0c;努力学习 - python脚本学习 二叉树的最大深度 解题思路 这道题要求计算二叉树的最大深度&#xff0c;即从根节点到最远叶子节点的最长路径上的节点数。可以使用递归或迭代方法解决&#xff1a; 递归法&#xff08;推荐&#xff09;&#…...

AIOps 工具介绍

AIOps&#xff08;智能运维&#xff09;是通过人工智能技术优化IT运维流程的实践&#xff0c;其核心在于利用机器学习、大数据分析等技术实现运维自动化与智能化。以下从定义、核心价值、技术架构及工具等方面展开说明&#xff1a; 一、AIOps的定义与核心价值 AIOps&#xff0…...

4.3【LLaMA-Factory实战】教育大模型:个性化学习路径生成系统全解析

【LLaMA-Factory实战】教育大模型&#xff1a;个性化学习路径生成系统全解析 一、引言 在教育领域&#xff0c;传统"一刀切"的教学模式难以满足学生的个性化需求。本文基于LLaMA-Factory框架&#xff0c;详细介绍如何构建一个个性化学习路径生成系统&#xff0c;包…...

如何构建容器镜像并将其推送到极狐GitLab容器镜像库?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 构建容器镜像并将其推送到容器镜像库 (BASIC ALL) 在构建和推送容器镜像之前&#xff0c;您必须通过容器镜像库的身份验证。 …...

雷赛伺服L7-EC

1电子齿轮比&#xff1a; 电机圈脉冲1万 &#xff08;pa11的值 x 4倍频&#xff09; 2电机刚性&#xff1a; pa003 或者 0x2003 // 立即生效的 3LED显示&#xff1a; PA5.28 1 电机速度 4精度&#xff1a; PA14 //默认30&#xff0c;超过3圈er18…...

爬虫学习————开始

&#x1f33f;自动化的思想 任何领域的发展原因————“不断追求生产方式的改革&#xff0c;即使得付出与耗费精力越来愈少&#xff0c;而收获最大化”。由此&#xff0c;创造出方法和设备来提升效率。 如新闻的5W原则直接让思考过程规范化、流程化。或者前端框架/后端轮子的…...

Shell 脚本编程详细指南:第五章 - 函数与参数传递

Shell 脚本编程详细指南&#xff1a;第五章 - 函数与参数传递 引言&#xff1a;函数在脚本工程化中的核心价值 函数是Shell脚本实现模块化编程的基石。本章将深入解析函数编程的各个方面&#xff0c;从基础定义到高级应用&#xff0c;助您构建可维护、可重用的脚本架构。我们…...

使用 docker 安装 nacos3.x

一、安装 nacos 1.拉取镜像 使用如下指令拉取镜像 docker pull nacos/nacos-server 拉取完成后&#xff0c;可以使用以下命令查看是否拉取到对应的镜像&#xff0c;默认拉取最新镜像 docker images 2.新建挂载文件目录 mkdir -p /home/ubuntu/nacos/conf/mkdir -p /home/…...

Docker的基础操作

docker是一个用Go语言实现的开源项目&#xff0c;可以让我们方便的创建和使用容器&#xff0c;docker将程序以及程序所有的依赖都打包到docker container&#xff0c;这样你的程序可以在任何环境都会有一致的表现&#xff0c;这里程序运行的依赖也就是容器就好比集装箱&#xf…...

权限控制模型全解析:RBAC、ACL、ABAC 与现代混合方案

权限控制模型全解析&#xff1a;RBAC、ACL、ABAC 与现代混合方案 在企业信息系统、SaaS 应用、安全平台中&#xff0c;权限控制模型是确保用户访问安全和功能隔离的基础架构设计之一。本文将系统性梳理常见的权限控制模型&#xff0c;包括 RBAC、ACL、ABAC、DAC、MAC、ReBAC 等…...

内存安全革命:工具、AI 与政策驱动的 C 语言转型之路

引言 在 CVE-2025-21298 等高危漏洞频发的背景下&#xff0c;内存安全已成为全球软件产业的核心议题。根据 CISA 最新数据&#xff0c;2024 年全球 72% 的网络攻击源于内存安全漏洞&#xff0c;而 C/C 代码贡献了其中 89% 的风险。这一严峻现实催生了技术革新的三重浪潮&#…...

电厂数据库未来趋势:时序数据库 + AI 驱动的自优化系统

在电力行业加速数字化与智能化转型的进程中&#xff0c;电厂数据库作为数据管理与应用的核心枢纽&#xff0c;正经历着深刻变革。时序数据库与 AI 技术的融合&#xff0c;正催生一种全新的自优化系统&#xff0c;为电厂设备全生命周期管理带来前所未有的效能提升与创新机遇。这…...

stm32 debug卡在0x1FFFxxxx

自己画的一个四轴飞机电路板&#xff0c;之前还能debug&#xff0c;改了一下mos管两端的电阻&#xff0c;还能正常下载&#xff0c;蓝牙接收也正常&#xff0c;但是debug出问题了&#xff0c;刚下载就自动运行&#xff0c;然后程序就在0x1FFFxxxx附近循环运行&#xff0c;这一块…...

什么是AI写作

一、AI写作简介 AI 写作正在成为未来 10 年最炙手可热的超级技能。已经有越来越多的人通过 AI 写作&#xff0c;在自媒体、公文写作、商业策划等领域实现了提效&#xff0c;甚至产生了变现收益。 掌握 AI 写作技能&#xff0c;不仅能提高个人生产力&#xff0c;还可能在未来的 …...

港大今年开源了哪些SLAM算法?

过去的5个月&#xff0c;香港大学 MaRS 实验室陆续开源了四套面向无人机的在线 SLAM 框架&#xff1a;**FAST-LIVO2 、Point-LIO&#xff08;grid-map 分支&#xff09; 、Voxel-SLAM 、Swarm-LIO2 **。这四套框架覆盖了单机三传感器融合、高带宽高速机动、长时间多级地图优化以…...

PostgreSQL 表空间占用分析与执行计划详解

PostgreSQL 表空间占用分析与执行计划详解 引言 在数据库管理和优化中&#xff0c;了解表占用的空间大小以及查询的执行计划是至关重要的。本文将详细介绍如何在 PostgreSQL 中查看普通表和分区表的空间占用情况&#xff0c;以及如何分析和解读执行计划。 一、查看表空间占用 …...

robotframe启动ride.py

我的双击ride.py会自动用pycharm打开&#xff0c;变成代码文件 解决方法&#xff1a;定位到ride.py所在文件夹&#xff08;在anaconda的scripts里面&#xff09;&#xff0c;文件夹上方输入cmd 再输入该命令即可...

通过Linux系统服务管理IoTDB集群的高效方法

IoTDB是一款专为工业物联网领域设计的高性能时间序列数据库。在生产环境中&#xff0c;确保IoTDB集群的稳定运行至关重要。本文将介绍如何利用Linux系统服务来管理IoTDB集群&#xff0c;以实现高效的启动、监控和自动重启。 一、基本配置与环境需求 为了解决传统IoTDB启动方式…...

机器学习-数据集划分和特征工程

一.数据集划分 API函数&#xff1a; sklearn.model_selection.train_test_split(*arrays&#xff0c;**options) 参数&#xff1a; - arrays&#xff1a;多个数组&#xff0c;可以是列表&#xff0c;numpy数组&#xff0c;也可以是dataframe数据框等 - options&#xff1a;&…...

LDO与DCDC总结

目录 1. 工作原理 2. 性能对比 3. 选型关键因素 4. 典型应用 总结 1. 工作原理 LDO LDO通过线性调节方式实现降压&#xff0c;输入电压需略高于输出电压&#xff08;压差通常为0.2-2V&#xff09;&#xff0c;利用内部PMOS管或PNP三极管调整压差以稳定输出电压。其结构简单…...

5 种距离算法总结!!

大家好&#xff01;我是 我不是小upper&#xff5e; 今天&#xff0c;咱们聚焦一个在机器学习领域极为关键、在实际项目中也高频使用的主题 ——距离算法。在机器学习的世界里&#xff0c;距离算法就像是一把 “度量尺”&#xff0c;专门用来衡量数据点之间的相似性或差异性。…...