【Jmeter】Jmeter 高并发性能压力测试

目录

一、下载 Jmeter

二、配置环境变量

三、设置中文语言

四、入门最简单的高并发性能压测流程

1. 添加线程组

2. 添加请求

3. 添加监听器

3.1 添加聚合报告

 3.2 添加结果树

4. 启动测试

 2 种启动方式:

查看结果树:

聚合报告:

五、其它操作

 1. 清理测试数据


一、下载 Jmeter

Jmeter 下载链接

随便下载一个压缩包版本

解压后进入 bin 打开:

  • jmeter.sh :Linux 版本的启动脚本
  • jmeter.cmd :Windows 版本的启动脚本

ApacheJMeter.jarJAR文件JMeter的核心文件‌,包含所有类和资源,双击可启动JMeter。
BeanShellAssertion.bshrcBeanShell脚本BeanShell断言配置‌,用于测试过程中执行脚本断言。
BeanShellFunction.bshrcBeanShell脚本BeanShell函数配置‌,定义和使用自定义BeanShell函数。
BeanShellListeners.bshrcBeanShell脚本BeanShell监听器配置‌,用于测试过程中的监听操作。
BeanShellSampler.bshrcBeanShell脚本BeanShell取样器配置‌,用于测试过程中的取样操作。
create-rmi-keystore.bat/.sh批处理/脚本文件创建RMI信任存储‌,用于配置RMI安全。
hc.parameters参数文件Harmony Class Loader参数‌,配置类加载器行为。
heapdump.cmd/.sh命令/脚本文件生成堆转储文件‌,用于内存分析。
jaas.conf配置文件JAAS配置‌,配置Java认证和授权服务。
‌jmeter.bat/.sh批处理/脚本文件启动JMeter‌,分别适用于Windows和Unix/Linux。
jmeter.log日志文件记录JMeter运行日志‌,用于问题排查。
jmeter.properties属性文件JMeter全局配置‌,如语言、线程数等。
jmeter-n.cmd/-n-r.cmd命令文件非GUI模式运行JMeter‌,后者还重定向输出。
jmeter-server目录JMeter服务器配置‌,用于分布式测试。
jmeter-server.bat/.sh批处理/脚本文件启动JMeter服务器‌,分别适用于Windows和Unix/Linux。
krb5.conf配置文件Kerberos客户端配置‌,用于Kerberos认证。
log4j2.xml日志配置文件Log4j2配置‌,定义日志输出格式和级别。
mirror-server目录镜像服务器配置‌,用于镜像测试。
reportgenerator.properties属性文件报告生成器配置‌,定义报告生成参数。
saveservice.properties属性文件保存服务配置‌,定义测试结果保存格式。
shutdown.cmd/.sh命令/脚本文件关闭JMeter‌,分别适用于Windows和Unix/Linux。
stoptest.cmd/.sh命令/脚本文件停止JMeter测试‌,分别适用于Windows和Unix/Linux。
system.properties属性文件系统级配置‌,定义JVM参数等。
threaddump.cmd/.sh命令/脚本文件生成线程转储文件‌,用于线程分析。
upgrade.properties属性文件升级配置‌,定义JMeter升级参数。
user.properties属性文件用户级配置‌,定义用户相关参数。
utility.groovyGroovy脚本实用工具脚本‌,可能包含自定义函数或工具类。

二、配置环境变量

  • 在正常情况下,JMeter不需要单独配置ApacheJMeter_core.jarjorphan.jar的环境变量即可正常运行测试。
  • 即使未设置 JMETER_HOME,只要直接运行 jmeter.bat(Windows)或 jmeter.sh(Linux/Mac)且 JMeter 目录结构完整,脚本也能通过相对路径找到 JAR 包。

  • 为了能快速命令方式启动以及兼容性和避免路径问题,建议设置 JMETER_HOME

Windows11 直接搜索环境变量

  1. 打开环境变量
  2. 系统变量 ---> 增加 JMETER_HOME ---> 值建议 jmeter主目录\ Jmeter 版本
  3. 系统变量 ---> 找到 path 双击打开 ---> 增加 %JMETER_HOME%\bin

三、设置中文语言

  1. Options 选项
  2. Choose Language 更改语言
  3. Chinese 中文

四、入门最简单的高并发性能压测流程

  1. 添加线程组
  2. 添加请求
  3. 添加监听树
  4. 启动测试

1. 添加线程组

右击 TestPlan --> 添加 --> 线程(用户) --> 线程组

填入测试

  • 线程组:100
  • Ramp-Up:10
  • 循环次数:10

JMeter 线程组核心参数解释表

参数名称含义示例说明
线程数定义测试中要模拟的 最大并发虚拟用户 (VU) 数量线程数 = 10:表示 JMeter 最终会创建并运行 10 个独立的线程(虚拟用户),每个用户都会执行测试计划中定义的请求。
Ramp-Up 时间 (秒)定义 JMeter 启动所有线程 (虚拟用户) 所需的总时间 (秒)。目的是平滑增加负载,避免瞬间压力冲击。线程数 = 10Ramp-Up = 100 秒:
0秒: 启动第1个用户。
10秒: 启动第2个用户 (100秒 / 10用户 = 10秒/用户)。
20秒: 启动第3个用户。
...
90秒: 启动第10个用户。
所有10个用户将在第90秒时全部启动完毕。
循环次数定义 每个线程 (虚拟用户) 执行其包含的请求 (采样器) 序列的次数循环次数 = 5
* 每个线程(用户)会从头到尾完整地执行测试计划中定义的请求(比如:登录 -> 浏览商品 -> 下单)5次。
* 如果勾选了“永远”,线程会无限循环执行请求序列,直到手动停止测试、达到设置的测试持续时间或线程被停止(如通过定时器)。

 线程组勾线永久模拟持续并发量用户请求,常用配置!


2. 添加请求

 右击线程组 --> 添加 --> 取样器 --> HTTP 请求

填入参数

  • 协议:http
  • 服务器名称/IP:127.0.0.1
  • 端口号:8080
  • HTTP请求方法:GET
  • 请求路径(必须 / 开头):/test-thread-2
  • 内容编码(不分大小写):UTF-8
  • 无参

SpringBoot 项目 Test Demo 接口信息

JMeter HTTP 请求配置项详解表

配置项解释说明示例/注意事项
名称 (Name)为这个 HTTP 请求采样器起一个描述性名称。便于在结果树、报告等组件中识别不同的请求。首页访问用户登录 API查询订单详情
注释 (Comments)可选字段,用于添加关于此请求的额外说明。
协议 (Protocol)指定请求使用的应用层协议http: 默认值,标准 HTTP。
https: 加密的 HTTP (SSL/TLS)。
留空: JMeter 会继承线程组或 HTTP 请求默认值中设置的协议(如果有)。
注意: 使用 https 时,JMeter 会自动处理 SSL 握手,但可能需要配置信任库来处理自签名证书。
服务器名称或 IP (Server Name or IP)指定目标 Web 服务器的域名或 IP 地址。这是构建请求 URL 最核心的部分。www.example.com
api.myapp.com
192.168.1.100
注意: 不要包含 http:// 或 https:// 前缀,也不要在末尾加 /
端口号 (Port Number)指定目标服务器监听的网络端口号80: HTTP 默认端口。
443: HTTPS 默认端口。
80808443: 常见的应用服务器 HTTP/HTTPS 端口。
留空: 如果使用 http 协议则默认为 80,使用 https 协议则默认为 443
HTTP 请求 (HTTP Request)选择 HTTP 请求方法 (Verb)GET: 获取资源(参数通常在 URL 后 ?key=value)。
POST: 提交数据(数据通常在 Body 中)。
PUT: 更新资源。
DELETE: 删除资源。
HEADOPTIONSPATCH 等。 POST 最常用,特别是带表单或 JSON 时。
路径 (Path)指定请求的资源路径 (URI),相对于服务器的根目录。/index.html
/api/v1/login
/products/search
注意:
必须以 / 开头。
* 可以包含路径参数 (如 /users/{userId}),但 JMeter 不直接处理占位符,需用变量或硬编码值替换。
内容编码 (Content encoding)指定 HTTP 请求体 (Body) 的字符编码。主要影响 POST/PUT 等方法中发送的 Parameters 或 Body Datautf-8: 最常用,支持多语言。
iso-8859-1
gbk (中文)
注意: 如果服务器响应返回乱码,可能需要检查响应头中的 Content-Type 编码或使用 JMeter 的后置处理器(如 BeanShell PostProcessor)进行转码。 通常保持 utf-8 即可。
参数 (Parameters)用于添加 GET 请求的查询字符串参数 (URL 后 ?key=value&key2=value2) 或 POST 请求的 application/x-www-form-urlencoded 表单参数模式: 名称=值 对。
GET: 参数会自动附加到 URL 后。
POST (x-www-form-urlencoded): 参数会被编码后放入请求体。
注意:
* 勾选 Encode? 让 JMeter 自动对参数值进行 URL 编码。
* 勾选 Include Equals? 确保即使值为空也发送 key=。 与 Body Data 互斥!
消息体数据 (Body Data)用于 直接输入 HTTP 请求体 (Body) 的原始内容。适用于 POST/PUT 等方法发送 非表单数据,如 JSONXML纯文本{"username": "test", "password": "secret"} (JSON)
<request><id>123</id></request> (XML)
This is plain text
注意:
必须设置正确的 Content-Type 请求头(如 application/json)告诉服务器如何解析。
与 Parameters 和 Files Upload 互斥!
文件上传 (Files Upload)用于模拟 文件上传 场景 (multipart/form-data)。文件路径: 选择要上传的本地文件路径。
参数名称: 服务器端接收文件字段的名称 (通常是 file 或 upload)。
MIME 类型: 指定上传文件的 MIME 类型 (如 image/pngtext/plainapplication/pdf)。
注意:
* 会自动设置 Content-Type: multipart/form-data 请求头。
与 Parameters 和 Body Data 互斥! JMeter 会在此模式下忽略它们(除非在下面单独添加额外参数)。

3. 添加监听器

3.1 添加聚合报告

右击线程组 --> 添加 --> 监听器 --> 监听器 --> 聚合报告

 

JMeter 聚合报告 (Aggregate Report) 各统计列详解表

列名解释说明重要性/解读
Label (标签)对应 采样器 (Sampler) 的名称。就是你为 HTTP 请求、JDBC 请求等设置的“名称”。关键标识。用于区分不同请求类型的性能数据。确保为每个重要请求设置清晰、唯一的名称。
# Samples (样本数)在测试运行期间,该采样器总共被执行的次数。即这个请求一共发送了多少次。基础量度。表示该请求承受的总负载量。结合线程数、循环次数、持续时间理解。样本数少可能意味着测试配置错误(如持续时间太短)或请求本身没有被正确调用。
Average (平均值) ms所有 样本响应时间的算术平均值。单位是毫秒 (ms)。总体趋势参考。反映请求的“平均”响应速度。注意: 平均值容易受极少数特别长或特别短的响应时间影响,可能掩盖实际用户体验(如大部分用户很快,但少数极慢请求拉高了平均值)。
Median (中位数) ms将所有样本的响应时间从小到大排序,位于最中间的那个值。如果样本数是偶数,则取中间两个值的平均值。单位是毫秒 (ms)。更贴近“典型”用户体验。表示至少 50% 的请求响应时间小于或等于这个值。相比平均值,中位数对极端值不敏感,更能代表大多数用户的感受。例如,中位数 200ms 表示一半请求在 200ms 内完成。
90% Line (90% 百分位) ms将所有样本的响应时间从小到大排序,90% 的样本响应时间小于或等于这个值。单位是毫秒 (ms)。关键性能指标 (KPI)。也称为 P90。表示 90% 的用户体验在这个时间范围内。这是评估系统性能满足 服务水平协议 (SLA) 的常用指标(如 SLA 要求 95% 请求 < 1s,则看 95% Line)。它揭示了尾部延迟 (Tail Latency),比平均值/中位数更能反映“慢请求”的影响。值越接近中位数越好。
95% Line (95% 百分位) ms将所有样本的响应时间从小到大排序,95% 的样本响应时间小于或等于这个值。单位是毫秒 (ms)。更严格的 KPI。也称为 P95。表示 95% 的用户体验在这个时间范围内。对要求更高的场景(如金融交易核心接口)非常重要。关注其与 90% Line 的差距,差距过大可能意味着系统不稳定或存在瓶颈。
99% Line (99% 百分位) ms将所有样本的响应时间从小到大排序,99% 的样本响应时间小于或等于这个值。单位是毫秒 (ms)。揭示最差情况。也称为 P99。表示 99% 的用户体验在这个时间范围内,只有 1% 的请求比这个慢。用于评估极端情况下的用户体验和系统稳定性。这个值过高,即使平均值/90%很低,也会让那 1% 的用户感觉非常糟糕,可能影响口碑。
Min (最小值) ms所有样本响应时间中的最短时间。单位是毫秒 (ms)。参考值。表示该请求理论上能达到的最快速度。通常由缓存命中或极简操作导致。单独看意义不大,需与其他值对比。
Max (最大值) ms所有样本响应时间中的最长时间。单位是毫秒 (ms)。揭示问题点。表示该请求遇到的最慢情况。这个值非常高通常是问题的信号(如数据库死锁、资源耗尽、网络中断、特定请求触发了慢逻辑)。需要结合日志和监控排查具体原因。
Error % (异常率/错误率) %该采样器执行失败的请求占总样本数的百分比。失败可能由多种原因引起:HTTP 状态码 4xx/5xx、连接超时、响应断言失败等。核心健康指标最重要指标之一! 理想情况下应为 0%。非零表示有请求失败,直接影响用户体验和系统可用性。即使是 0.1% 也需要关注。高错误率通常意味着系统存在严重问题(代码缺陷、配置错误、资源不足等)。必须分析错误类型(查看结果树、日志)并解决。
Throughput (吞吐量) / sec单位时间内(每秒)服务器成功处理的该请求的数量。单位通常是 requests per second (请求数/秒)。JMeter 计算方式:Throughput = (样本数 - 错误数) / 测试运行总时长(秒)核心性能容量指标。表示系统处理该请求的能力。数值越高越好。是评估系统性能、容量规划(需要多少服务器支撑预期流量)的关键依据。注意:这是该特定请求的吞吐量,不是整个系统的总吞吐量。总吞吐量需要看聚合报告最底部的汇总行或使用其他监听器(如 Summary Report)。
Received KB/sec (接收 KB/秒)单位时间内(每秒)JMeter 从服务器接收到的该请求响应数据的总量。单位是千字节每秒 (KB/sec)。网络消耗指标。反映该请求返回数据的大小和频率对下行带宽的压力。对于返回大量数据(如图片、文件下载)的请求,这个值会很高。需关注是否可能成为网络瓶颈。
Sent KB/sec (发送 KB/秒)单位时间内(每秒)JMeter 向服务器发送的该请求请求数据的总量。单位是千字节每秒 (KB/sec)。网络消耗指标。反映该请求发送数据的大小和频率对上行带宽的压力。对于上传文件或提交大量表单数据的请求(POST with large body),这个值会很高。需关注是否可能成为网络瓶颈。
Avg. Bytes (平均字节数)每个样本响应体大小的平均值。单位是字节 (Bytes)。数据量参考。帮助理解单个响应通常返回多少数据。结合吞吐量可以估算网络流量

 3.2 添加结果树

右击线程组 --> 添加 --> 监听器 --> 查看结果树

 JMeter 查看结果树 (View Results Tree) 显示格式详解表

格式名称适用数据核心功能与特点典型使用场景注意事项
Text任何文本响应最原始格式。 直接将响应体作为纯文本显示。
* 对于非文本响应(如图片),会显示二进制乱码或提示。
* 快速查看原始响应内容。
* 查看非结构化文本。
* 当其他解析器不可用时。
* 二进制内容(如图片、PDF)会显示乱码。
* 长文本无格式化,可读性差。
RegExp Tester任何文本响应专门用于测试正则表达式。
* 提供一个输入框输入正则表达式。
* 高亮显示匹配到的文本。
* 显示匹配组结果。
* 调试和验证 正则表达式提取器 (Regular Expression Extractor) 的正则表达式。
* 快速测试正则是否能匹配响应内容。
仅用于测试正则表达式,不是常规查看响应的格式。
Boundary Extractor Tester任何文本响应专门用于测试边界提取器。
* 提供输入框设置左边界和右边界。
* 高亮显示根据边界提取到的文本。
* 显示提取结果。
* 调试和验证 边界提取器 (Boundary Extractor) 的左右边界设置。仅用于测试边界提取器,不是常规查看响应的格式。
CSS Selector TesterHTML 响应专门用于测试 CSS/JQuery 选择器。
* 提供一个输入框输入 CSS 选择器表达式。
* 高亮显示匹配到的 HTML 元素。
* 显示提取结果(如 text, html, 属性值)。
* 调试和验证 CSS/JQuery 提取器 (CSS/JQuery Extractor) 的选择器表达式。仅用于测试 CSS/JQuery 选择器,不是常规查看响应的格式。
JSON Path TesterJSON 响应专门用于测试 JSON Path 表达式。
* 提供一个输入框输入 JSON Path 表达式。
* 高亮显示或定位匹配的 JSON 节点。
* 显示提取结果。
* 调试和验证 JSON 提取器 (JSON Extractor) 或 JSON Path 断言 的 JSON Path 表达式。仅用于测试 JSON Path,不是常规查看响应的格式。
XPath2 TesterXML 响应专门用于测试 XPath 2.0 表达式。
* 提供一个输入框输入 XPath 2.0 表达式。
* 高亮显示或定位匹配的 XML 节点。
* 显示提取结果。
* 调试和验证 XPath2 提取器 (XPath2 Extractor) 或 XPath2 断言 的 XPath 2.0 表达式。仅用于测试 XPath 2.0,不是常规查看响应的格式。
JSON JMESPath TesterJSON 响应专门用于测试 JMESPath 表达式。
* 提供一个输入框输入 JMESPath 表达式。
* 高亮显示或定位匹配的 JSON 节点。
* 显示提取结果。
* 调试和验证 JMESPath 提取器 (JMESPath Extractor) 或 JMESPath 断言 的 JMESPath 表达式。仅用于测试 JMESPath,不是常规查看响应的格式。JMESPath 是 JSON 查询的更强大语言,功能类似 JSON Path 的超集。
XPath TesterXML 响应专门用于测试 XPath 1.0 表达式。
* 提供一个输入框输入 XPath 1.0 表达式。
* 高亮显示或定位匹配的 XML 节点。
* 显示提取结果。
* 调试和验证 XPath 提取器 (XPath Extractor) 或 XPath 断言 的 XPath 1.0 表达式。仅用于测试 XPath 1.0,不是常规查看响应的格式。
HTMLHTML 响应渲染 HTML 视图。 尝试像浏览器一样渲染 HTML 页面。
* 显示基本的页面布局和元素。
不加载外部资源(图片、CSS、JS)。
* 快速检查页面渲染的基本结构和内容是否符合预期。
* 查看纯 HTML 内容呈现的效果。
渲染非常基础,不支持现代 CSS/JS,效果远不如真实浏览器。
性能消耗大,在压测中开启会严重影响结果,调试时使用,压测时务必禁用
HTML Source FormattedHTML 响应格式化显示 HTML 源代码。
* 对原始 HTML 进行缩进、换行等格式化,提高可读性。
最常用! 清晰、可读地查看 HTML 响应的原始源代码。
* 分析 HTML 结构,查找特定元素或内容。
比原始的 Text 模式更易读,但仍是源代码视图。
HTML (download resources)HTML 响应渲染 HTML 视图并尝试下载资源。 类似 HTML 模式,但会尝试下载页面中引用的图片、CSS、JS 等资源。
极其消耗资源且不稳定
* 理论上可以更完整地模拟浏览器,但实际很少用且强烈不推荐性能消耗巨大! 严重影响 JMeter 性能和压测结果。
* 下载过程可能失败或卡住。
强烈建议避免使用此模式,尤其在压测时绝对禁用。
DocumentHTML / XML 响应基于 DOM 的视图。 将 HTML/XML 解析成文档对象模型 (DOM) 并以树形结构展示。
* 可以展开/折叠节点。
* 显示元素标签、属性、文本内容等。
* 以结构化方式分析 HTML/XML 文档的层次结构。
* 辅助编写 XPath 或 CSS 选择器。
比纯文本更结构化,但不如源代码视图直观。
JSONJSON 响应格式化显示 JSON 数据。
* 对原始 JSON 进行缩进、换行、语法高亮(取决于 JMeter 版本/主题)。
* 可展开/折叠 JSON 对象和数组。
最常用! 清晰、可读地查看 JSON 响应的结构。
* 快速定位特定字段的值。
* 调试 JSON 接口的必备视图。
极大地提高了 JSON 数据的可读性和调试效率。
XMLXML 响应格式化显示 XML 数据。
* 对原始 XML 进行缩进、换行、语法高亮(取决于 JMeter 版本/主题)。
* 可展开/折叠 XML 元素节点。
最常用! 清晰、可读地查看 XML 响应的结构。
* 快速定位特定元素或属性。
* 调试 XML 接口的必备视图。
极大地提高了 XML 数据的可读性和调试效率。

4. 启动测试

 2 种启动方式

  1. 在顶部导航栏图标下的绿色按钮即可启动/停止
  2. 右击线程组 --> 启动 (start)

 注意

  • 这里让保存现有已配置的信息,可以直接 No 或者 × 掉,但是下次信息无
  • 保存配置信息,下次打开


查看结果树:

  • 请求:包含请求头、请求体
  • 响应:包含响应头、响应体
  • 取样结果:可以查看配置信息


聚合报告:

当前测试吞吐量:每秒请求 100次


五、其它操作

 1. 清理测试数据

当测试后,我们一般需要清除这一次的数据

  • 在顶部导航栏图标下的扫把按钮即可清除当前测试数据,
    • 注意两个扫把,需选中监听测试组件 --> 点击
    • 另一个直接点击清除全部的扫把按钮

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/84774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

芯片测试之VIL/VIH(输入电平)Test全解析:从原理到实战

大家好&#xff0c;我是硅言。在数字芯片的“沟通体系”中&#xff0c;​​VIL&#xff08;输入低电平&#xff09;​​和​​VIH&#xff08;输入高电平&#xff09;​​如同芯片的“听觉阈值”&#xff0c;决定了它能否准确识别外部信号的逻辑状态。本文将从原理剖析、测试方…

【WPF】MVVM的消息机制

在WVM&#xff08;Model-View-ViewModel&#xff09;架构中&#xff0c;消息机制主要用于实现ViewModel与View之间的通信&#xff0c;同时保持它们的分离。这对于维护代码的清晰度和可测试性非常重要。在WPF&#xff08;Windows Presentation Foundation&#xff09;应用程序中…

以楼宇自控关键技术,夯实现代低碳建筑发展重要基础

当“碳达峰、碳中和”成为全球发展共识&#xff0c;建筑行业作为能源消耗与碳排放的重要领域&#xff0c;正加速向低碳化转型。在这场绿色变革中&#xff0c;楼宇自控技术凭借对建筑设备的智能管控与能源优化能力&#xff0c;成为现代低碳建筑建设的核心支撑。从数据采集到智能…

西电【信息与内容安全】课程期末复习笔记

西电【信息与内容安全】课程期末复习笔记 来自2022年春的古早遗留档案&#xff0c;有人需要这个&#xff0c;我就再发一下吧。 ‍ 平时成绩&#xff1a; 10%。线上&#xff1a; 10% &#xff08;线上学习内容&#xff0c; 共 100 分。&#xff09;实验&#xff1a; 10% &#…

【论文阅读笔记】ICLR 2025 | 解析Ref-Gaussian如何实现高质量可交互反射渲染

Reflective Gaussian Splatting Info 会议 【ICLR 2025】 作者 复旦大学&#xff0c;萨里大学&#xff1b;复旦张力教授团队 Github地址 https://github.com/fudan-zvg/ref-gaussian.git Project地址 https://fudan-zvg.github.io/ref-gaussian/ Abstract 新视图合成得益…

面向GPU、CPU及机器学习加速器的机器学习编译器

机器学习编译器概述 机器学习编译器是一种专门针对机器学习工作负载设计的工具&#xff0c;旨在将高层模型描述&#xff08;如TensorFlow或PyTorch模型&#xff09;高效编译为可在不同硬件&#xff08;如GPU、CPU或专用加速器&#xff09;上执行的底层代码。其核心目标是优化计…

论文分类打榜赛Baseline(2):InternLM昇腾硬件微调实践

本文来自社区投稿&#xff0c;作者丁一超 书生大模型实战营第5期已正式启动&#xff0c;本期实战营新增「论文分类打榜赛」&#xff0c;以帮助学员更好地掌握大模型技能。 本文将手把手带领大家如何基于昇腾微调 InternLM 模型&#xff0c;轻松上手论文自动分类任务。从环境配…

mac安装mvnd结合idea

mac安装mvnd结合idea hi&#xff0c;我是阿昌&#xff0c;今天记录一下mac系统下如何安装mvnd同时通过maven-helper插件配置mvnd命令&#xff0c;提升编译速度&#xff1b; 0、前言 如果你正在开发一个由大量模块组成的大型项目&#xff0c;Gradle可以让大型项目构建的更快&…

扩展模块--QWebEngine功能及架构解析

Qt WebEngine 模块在 Qt 6.9 中提供了基于 Chromium 的网页渲染引擎功能。 一、主要功能 核心功能 网页渲染引擎 基于 Chromium 项目的最新稳定版本 支持现代 HTML5、CSS3 和 JavaScript 标准 主要组件 QWebEngineView - 用于显示网页内容的 widget QWebEnginePage - 表示…

Spring Boot Admin监控

1、概述 Spring Boot Admin 是一款用于监控 Spring Boot 应用程序的开源工具&#xff0c;可帮助开发者实时监控应用的运行状态、性能指标、日志信息等。 2、核心功能 应用状态监控 显示应用是否在线、启动时间、运行时长等基础信息。监控 JVM 相关指标&#xff1a;内存使用情…

【QT】QTableView自定义样式:仅显示行间隔、隐藏列间隔、表头样式、表格样式、单行选中等

目录 0.背景 1.详细代码 0.背景 项目需要&#xff0c;我有一个自定义的类Steer_Electrode_Table&#xff0c;是一个QTableView&#xff1b; 记录一下QTableView修改前后的样式&#xff0c;仅供参考 看一下我修改前后的样式对比 1.详细代码 void Steer_Electrode_Table::init…

mvnd-快速打包maven项目

mvnd 一、简介一、定位与背景二、核心架构与加速原理三、使用注意事项 二、下载安装三、idea集成mvnd插件四、打包测试时长 一、简介 mvnd&#xff08;Maven Daemon&#xff09;是Apache Maven团队推出的高性能构建工具&#xff0c;旨在解决传统Maven构建速度慢的问题。它通过…

C++ 中的尾调用优化TCO:原理、实战与汇编分析

C尾调用优化 什么是尾调用&#xff1f;描述无返回值函数最后调用函数也可能做尾调用优化 例子关键特征&#xff08;写法&#xff09; 尾调用和尾递归的区别&#xff1f;为什么尾调用优化可以提高效率&#xff1f;通常的递归调用&#xff1a;尾调用优化&#xff1a;为什么栈帧复…

Java集合 - ArrayList底层源码解析

下面开始对 Java 中 ArrayList 的深度源码分析&#xff0c;基于 JDK 8 的实现&#xff08;后续版本略有差异&#xff0c;但核心逻辑一致&#xff09;。我们将从 类结构、扩容机制、核心方法实现、性能优化、线程安全问题 等角度进行详细解析 一、类结构与核心字段 1. 类继承关…

【Qt】Qt控件

文章目录 Qt控件Layout Spacer垂直布局QVBoxLayout水平排列布局QHBoxLayout网格布局 QGridLayout表格布局 QFormLayout Button Contain命令按钮Push Button工具按钮Tool Button单选按钮Radio Button复选框按钮Check Box命令链接按钮Command Link Button按钮盒Button Box组合框G…

PHP基础-运算符

PHP 的运算符是编程中非常基础但又非常重要的一部分&#xff0c;掌握它们能让你更灵活地处理各种逻辑、计算和流程控制。 算术运算符 用于基本数学运算&#xff1a; 运算符含义示例加法$a $b-减法$a - $b*乘法$a * $b/除法$a / $b%取模$a % $b 示例&#xff1a; <?ph…

AR珠宝佩戴与传统的珠宝购物有哪些区别?​

AR 珠宝佩戴与传统的珠宝购物究竟存在着哪些显著区别呢?在传统的珠宝购物模式里&#xff0c;顾客往往需要花费时间和精力前往实体珠宝店。踏入店内&#xff0c;首先映入眼帘的便是那一排排的玻璃展柜&#xff0c;此时&#xff0c;销售人员会热情地走上前&#xff0c;小心翼翼地…

华为云CAE部署spring cloud服务

1 概述 华为云CAE&#xff08;Cloud Application Engine云应用引擎&#xff09;是一个面向WEB、微服务应用的Serverless托管服务&#xff0c;提供极速部署、极低成本、极简运维的一站式应用托管方案。支持从源码、软件包、镜像包快速发布应用&#xff0c;秒级弹性伸缩、按量付…

【技术工具】源码管理 - GIT工具

【技术工具】源码管理 - GIT工具 1 前言 之前参考语雀一位大佬的&#xff0c;但链接找不到了&#xff0c;仅供参考。 1、检查空白错误 //确认将提交的内容中有无空白信息 git diff --check 2、尝试让每一个提交成为一个逻辑的独立变更集 尽量使每笔提交都成为独立的patch&a…

Objective-c Block 面试题

以下是对我们这整段关于 Objective-C 中 Block、__block 修饰符、内存管理行为、生命周期等内容的全面总结&#xff0c;并附带了一套适合面试准备的面试题集&#xff08;带答案&#xff09;。 &#x1f9e0; 一、知识总结&#xff1a;Objective-C Block __block 修饰符 ✅ Bl…