Jmeter中的测试片段和非测试原件

 1)测试片段

c6a0271dbdc44877bc0f59fcc1b967c0.png

1--测试片段

功能特点

  • 重用性:将常用的测试元素组合成一个测试片段,便于在多个线程组中重用。
  • 模块化:提高测试计划的模块化程度,使测试计划更易于管理和维护。
  • 灵活性:可以通过模块控制器灵活地引用和控制测试片段的执行。

配置步骤

  1. 创建测试片段

    • 右键点击测试计划 -> 添加 -> 测试片段 -> 输入测试片段名称(例如“公共登录流程”)。
  2. 添加测试元素

    • 在测试片段中添加所需的测试元素,如取样器、前置处理器、后置处理器、断言等。
  3. 引用测试片段

    • 在需要使用测试片段的线程组中,右键点击线程组 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:给模块控制器一个有意义的名称。
      • 测试片段:选择要引用的测试片段。

参数说明

  • 测试片段名称:给测试片段一个有意义的名称。
  • 模块控制器名称:给模块控制器一个有意义的名称。
  • 测试片段选择:选择要引用的测试片段。

示例配置

假设我们需要测试一个Web应用,并且有一个常见的登录流程需要在多个线程组中重用。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 创建测试片段

    • 右键点击测试计划 -> 添加 -> 测试片段 -> 输入测试片段名称(例如“公共登录流程”)。
  3. 添加登录请求

    • 在测试片段中右键点击 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径:请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加断言

    • 在登录请求下右键点击 -> 添加 -> 断言 -> 响应断言。
    • 配置响应断言:
      • 名称:验证登录成功
      • 模式匹配规则:包含
      • 模式:登录成功
  5. 创建线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟1”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  6. 引用测试片段

    • 在线程组中右键点击 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:引用公共登录流程
      • 测试片段:选择“公共登录流程”
  7. 创建另一个线程组并引用测试片段

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟2”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
    • 在线程组中右键点击 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:引用公共登录流程
      • 测试片段:选择“公共登录流程”
  8. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求成功执行。

优化建议

  1. 模块化设计

    • 将常用的功能(如登录、注销、查询等)封装成测试片段,提高测试计划的模块化程度。
  2. 复用性

    • 在多个线程组中引用同一个测试片段,减少重复配置,提高测试效率。
  3. 调试方便

    • 在测试片段中添加调试信息,帮助定位问题。可以使用日志记录或查看结果树监听器。
  4. 性能考虑

    • 如果测试中包含大量的请求,确保测试片段中的配置高效且简洁,避免影响测试性能。

示例配置详细说明

假设我们有一个简单的测试计划,包含两个线程组,并希望在每个线程组中重用一个公共的登录流程。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 创建测试片段

    • 右键点击测试计划 -> 添加 -> 测试片段 -> 输入测试片段名称(例如“公共登录流程”)。
  3. 添加登录请求

    • 在测试片段中右键点击 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加断言

    • 在登录请求下右键点击 -> 添加 -> 断言 -> 响应断言。
    • 配置响应断言:
      • 名称:验证登录成功
      • 模式匹配规则:包含
      • 模式:登录成功
  5. 创建第一个线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟1”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  6. 引用测试片段

    • 在线程组中右键点击 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:引用公共登录流程
      • 测试片段:选择“公共登录流程”
  7. 创建第二个线程组并引用测试片段

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟2”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
    • 在线程组中右键点击 -> 添加 -> 采样器 -> 模块控制器。
    • 配置模块控制器:
      • 名称:引用公共登录流程
      • 测试片段:选择“公共登录流程”
  8. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保登录请求成功执行。

 

 

 

a86a3c6206c74a85810d3a2e92448e21.png


2)非测试原件

b313b4989f554a9b903a1c647bdf07f8.png

1--HTTP(S)测试脚本记录器

 

功能特点

  • 录制浏览器操作:录制用户的浏览器操作,生成相应的 JMeter 测试脚本。
  • 支持 HTTPS:支持录制 HTTPS 请求,确保安全通信。
  • 灵活配置:可以设置多个录制选项,满足不同的测试需求。
  • 过滤器:使用过滤器排除不需要录制的请求。

配置步骤

  1. 启动 HTTP(S) 测试脚本记录器

    • 右键点击测试计划 -> 添加 -> 非测试元件 -> HTTP(S) 测试脚本记录器。
  2. 配置 HTTP(S) 测试脚本记录器

    • 名称:给 HTTP(S) 测试脚本记录器一个有意义的名称。
    • 端口号:设置代理服务器的端口号(默认为 8888)。
    • 上下文:设置录制的上下文,可以选择录制整个测试计划或特定的线程组。
    • 过滤器:设置过滤器,排除不需要录制的请求。
    • 证书:生成和安装证书,用于录制 HTTPS 请求。
  3. 配置浏览器代理

    • 设置浏览器的代理服务器,指向 JMeter 的 HTTP(S) 测试脚本记录器。
    • 例如,对于 Chrome 浏览器,可以在网络设置中设置代理服务器为 localhost:8888
  4. 开始录制

    • 在 HTTP(S) 测试脚本记录器中点击“开始”按钮,开始录制浏览器操作。
    • 执行需要录制的操作,例如登录网站、提交表单等。
  5. 停止录制

    • 完成操作后,在 HTTP(S) 测试脚本记录器中点击“停止”按钮,停止录制。
  6. 查看和编辑生成的测试脚本

    • 录制完成后,JMeter 会自动生成相应的测试脚本。
    • 可以在测试计划中查看和编辑生成的取样器、前置处理器、后置处理器、断言等。

参数说明

  • 名称:给 HTTP(S) 测试脚本记录器一个有意义的名称。
  • 端口号:设置代理服务器的端口号(默认为 8888)。
  • 上下文:设置录制的上下文,可以选择录制整个测试计划或特定的线程组。
  • 过滤器:设置过滤器,排除不需要录制的请求。
  • 证书:生成和安装证书,用于录制 HTTPS 请求。

示例配置

假设我们需要录制一个用户的登录流程,并生成相应的 JMeter 测试脚本。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 启动 HTTP(S) 测试脚本记录器

    • 右键点击测试计划 -> 添加 -> 非测试元件 -> HTTP(S) 测试脚本记录器。
  3. 配置 HTTP(S) 测试脚本记录器

    • 名称:HTTP(S) 测试脚本记录器
    • 端口号:8888
    • 上下文:选择录制整个测试计划
    • 过滤器
      • 包含模式:输入需要录制的 URL 模式(例如*.example.com/*
      • 排除模式:输入不需要录制的 URL 模式(例如*.google.com/*
    • 证书
      • 点击“生成”按钮,生成证书文件。
      • 导出证书文件并安装到浏览器中。
  4. 配置浏览器代理

    • 对于 Chrome 浏览器,打开设置 -> 高级 -> 系统 -> 打开您的计算机的代理设置。
    • 设置手动代理配置,HTTP 代理和 HTTPS 代理均设置为 localhost:8888
  5. 开始录制

    • 在 HTTP(S) 测试脚本记录器中点击“开始”按钮,开始录制浏览器操作。
    • 打开浏览器,访问目标网站(例如https://example.com)。
    • 执行登录操作,填写用户名和密码,点击登录按钮。
  6. 停止录制

    • 完成操作后,在 HTTP(S) 测试脚本记录器中点击“停止”按钮,停止录制。
  7. 查看和编辑生成的测试脚本

    • 录制完成后,JMeter 会自动生成相应的测试脚本。
    • 在测试计划中查看生成的取样器、前置处理器、后置处理器、断言等。
    • 编辑生成的脚本,添加必要的断言和监听器,确保测试的准确性和可靠性。

优化建议

  1. 过滤器设置

    • 使用过滤器排除不必要的请求,例如广告、跟踪脚本等,避免生成冗余的测试脚本。
  2. 证书管理

    • 确保证书正确安装到浏览器中,避免 HTTPS 请求录制失败。
    • 如果需要录制多个浏览器的操作,确保每个浏览器都安装了相同的证书。
  3. 代理设置

    • 确保浏览器的代理设置正确,指向 JMeter 的 HTTP(S) 测试脚本记录器。
    • 如果使用的是企业网络,可能需要额外配置代理服务器。
  4. 脚本优化

    • 录制完成后,仔细检查生成的测试脚本,删除不必要的请求。
    • 添加必要的断言和监听器,确保测试的准确性和可靠性。
    • 使用变量和参数化,提高测试脚本的灵活性和可重用性。

示例配置详细说明

假设我们有一个简单的测试计划,需要录制一个用户的登录流程,并生成相应的 JMeter 测试脚本。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 启动 HTTP(S) 测试脚本记录器

    • 右键点击测试计划 -> 添加 -> 非测试元件 -> HTTP(S) 测试脚本记录器。
  3. 配置 HTTP(S) 测试脚本记录器

    • 名称:HTTP(S) 测试脚本记录器
    • 端口号:8888
    • 上下文:选择录制整个测试计划
    • 过滤器
      • 包含模式:输入需要录制的 URL 模式(例如*.example.com/*
      • 排除模式:输入不需要录制的 URL 模式(例如*.google.com/*
    • 证书
      • 点击“生成”按钮,生成证书文件。
      • 导出证书文件并安装到浏览器中。
  4. 配置浏览器代理

    • 对于 Chrome 浏览器,打开设置 -> 高级 -> 系统 -> 打开您的计算机的代理设置。
    • 设置手动代理配置,HTTP 代理和 HTTPS 代理均设置为 localhost:8888
  5. 开始录制

    • 在 HTTP(S) 测试脚本记录器中点击“开始”按钮,开始录制浏览器操作。
    • 打开浏览器,访问目标网站(例如https://example.com)。
    • 执行登录操作,填写用户名和密码,点击登录按钮。
  6. 停止录制

    • 完成操作后,在 HTTP(S) 测试脚本记录器中点击“停止”按钮,停止录制。
  7. 查看和编辑生成的测试脚本

    • 录制完成后,JMeter 会自动生成相应的测试脚本。
    • 在测试计划中查看生成的取样器、前置处理器、后置处理器、断言等。
    • 编辑生成的脚本,添加必要的断言和监听器,确保测试的准确性和可靠性。

68a686cedae641dba4ea1a9114ed6ea5.png


2--HTTP镜像服务器

功能特点

  • 请求回显:HTTP 镜像服务器会返回接收到的请求内容作为响应,用于验证请求的正确性。
  • 性能测试:可以用来测试 HTTP 请求的响应时间和性能。
  • 简单配置:配置简单,易于使用。

配置步骤

  1. 启动 HTTP 镜像服务器

    • 打开命令行终端。
    • 导航到 JMeter 的 bin 目录。
    • 运行以下命令启动 HTTP 镜像服务器:
      jmeter -Dhttp.port=8080 -Dhttp.mirror_server=true -n -t <path_to_jmx_file>
      其中 <path_to_jmx_file> 是你的测试计划文件的路径。如果你只是想启动镜像服务器而不需要运行具体的测试计划,可以省略 -t 参数。
  2. 配置 JMeter 测试计划

    • 创建一个新的测试计划或打开现有的测试计划。
    • 添加一个线程组。
    • 在线程组中添加一个 HTTP 请求取样器。
    • 配置 HTTP 请求取样器:
      • 名称:HTTP 请求
      • 服务器名称或IP:localhost
      • 端口号:8080
      • 协议:HTTP
      • 方法:GET 或 POST
      • 路径:/ (或其他路径)
      • 参数:根据需要添加请求参数
  3. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器或查看结果文件,确保请求和响应内容一致。

参数说明

  • http.port:设置 HTTP 镜像服务器监听的端口号(默认为 8080)。
  • http.mirror_server:启用 HTTP 镜像服务器功能。
  • -n:以非 GUI 模式运行 JMeter。
  • -t:指定要运行的测试计划文件路径。

示例配置

假设我们需要测试一个简单的 HTTP GET 请求,并验证请求和响应内容的一致性。

  1. 启动 HTTP 镜像服务器

    • 打开命令行终端。
    • 导航到 JMeter 的 bin 目录。
    • 运行以下命令启动 HTTP 镜像服务器:
      jmeter -Dhttp.port=8080 -Dhttp.mirror_server=true -n
  2. 创建测试计划

    • 打开 JMeter。
    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“HTTP 镜像服务器测试”)。
  3. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  4. 添加 HTTP 请求取样器

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP 请求。
    • 配置 HTTP 请求取样器:
      • 名称:HTTP 请求
      • 服务器名称或IP:localhost
      • 端口号:8080
      • 协议:HTTP
      • 方法:GET
      • 路径:/
      • 参数:根据需要添加请求参数(例如,添加一个参数 name,值为 testuser
  5. 添加监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 这将帮助你查看请求和响应的内容。
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器,确保请求和响应内容一致。

优化建议

  1. 端口号选择

    • 确保选择的端口号没有被其他服务占用。默认端口号为 8080,如果已被占用,可以更改端口号。
  2. 请求参数

    • 根据需要添加请求参数,确保请求内容符合预期。
  3. 性能测试

    • 可以增加线程数和循环次数,模拟更多的并发用户,测试服务器的性能。
  4. 日志记录

    • 在测试计划中添加日志记录监听器,帮助调试和记录测试过程中的信息。

示例配置详细说明

假设我们有一个简单的测试计划,需要测试一个 HTTP GET 请求,并验证请求和响应内容的一致性。

  1. 启动 HTTP 镜像服务器

    • 打开命令行终端。
    • 导航到 JMeter 的 bin 目录。
    • 运行以下命令启动 HTTP 镜像服务器:
       
      Sh

      深色版本

      jmeter -Dhttp.port=8080 -Dhttp.mirror_server=true -n
  2. 创建测试计划

    • 打开 JMeter。
    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“HTTP 镜像服务器测试”)。
  3. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  4. 添加 HTTP 请求取样器

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP 请求。
    • 配置 HTTP 请求取样器:
      • 名称:HTTP 请求
      • 服务器名称或IP:localhost
      • 端口号:8080
      • 协议:HTTP
      • 方法:GET
      • 路径:/
      • 参数
        • 名称:name
        • :testuser
  5. 添加监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 这将帮助你查看请求和响应的内容。
  6. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 查看结果树监听器,确保请求和响应内容一致。

 

 

 

db8db4cf556e45af81b781f7f667a081.png


 

3--属性显示

 

功能特点

  • 请求和响应查看:查看每个请求的请求头、请求体、响应头和响应体。
  • 断言结果:查看与请求关联的断言结果。
  • 树形结构:以树形结构展示请求和响应数据,方便导航和查看。
  • 支持多种格式:支持查看 HTML、XML、JSON 等多种格式的响应数据。

配置步骤

  1. 添加属性显示监听器

    • 右键点击需要添加监听器的线程组或测试计划。
    • 选择“添加” -> “监听器” -> “查看结果树”。
  2. 配置属性显示监听器

    • 名称:给属性显示监听器一个有意义的名称。
    • 保存响应数据:选择是否保存响应数据。
    • 显示模式:选择显示模式,例如:
      • 树形视图:以树形结构显示请求和响应数据。
      • 表格视图:以表格形式显示请求和响应数据。
      • 仅显示失败:只显示失败的请求。
    • 高级设置:可以设置更多高级选项,例如响应数据的最大长度。

参数说明

  • 名称:给属性显示监听器一个有意义的名称。
  • 保存响应数据:选择是否保存响应数据。如果选择保存,响应数据将被记录到监听器中,方便后续查看。
  • 显示模式
    • 树形视图:以树形结构显示请求和响应数据。
    • 表格视图:以表格形式显示请求和响应数据。
    • 仅显示失败:只显示失败的请求。
  • 高级设置
    • 响应数据的最大长度:设置响应数据的最大长度,超出部分将被截断。
    • 显示响应数据:选择是否显示响应数据。
    • 显示响应头:选择是否显示响应头。
    • 显示请求数据:选择是否显示请求数据。
    • 显示请求头:选择是否显示请求头。

示例配置

假设我们需要测试一个Web应用,并查看登录请求的请求和响应数据。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:目标服务器的地址(例如example.com)。
      • 端口号:目标服务器的端口(例如80)。
      • 协议:HTTP或HTTPS(例如HTTP)。
      • 方法:POST
      • 路径:请求的路径(例如/login)。
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加属性显示监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 配置属性显示监听器:
      • 名称:查看请求和响应
      • 保存响应数据:勾选
      • 显示模式:选择“树形视图”
      • 高级设置
        • 响应数据的最大长度:10240
        • 显示响应数据:勾选
        • 显示响应头:勾选
        • 显示请求数据:勾选
        • 显示请求头:勾选
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 在属性显示监听器中查看请求和响应数据,确保请求和响应内容正确。

优化建议

  1. 响应数据保存

    • 如果测试中包含大量的请求,可以选择不保存响应数据,以减少内存消耗。可以在测试结束后再启用保存响应数据,以便调试。
  2. 显示模式

    • 根据需要选择合适的显示模式。例如,如果只想查看失败的请求,可以选择“仅显示失败”模式。
  3. 响应数据长度

    • 设置合理的响应数据最大长度,避免因数据过大导致性能问题。
  4. 请求和响应头

    • 根据需要选择是否显示请求和响应头,这有助于调试请求和响应的详细信息。

示例配置详细说明

假设我们有一个简单的测试计划,需要测试一个登录请求,并查看请求和响应数据。

  1. 创建测试计划

    • 右键点击“测试计划” -> 新建 -> 输入测试计划名称(例如“Web应用性能测试”)。
  2. 添加线程组

    • 右键点击测试计划 -> 添加 -> 线程组 -> 输入线程组名称(例如“用户模拟”)。
    • 配置线程组:
      • 线程数:1(模拟1个用户)
      • 循环次数:1(每个用户发送1次请求)
      • 启动延迟:0(立即启动)
  3. 添加登录请求

    • 右键点击线程组 -> 添加 -> 取样器 -> HTTP请求。
    • 配置HTTP请求:
      • 名称:登录请求
      • 服务器名称或IP:example.com
      • 端口号:80
      • 协议:HTTP
      • 方法:POST
      • 路径:/login
      • 参数
        • 名称:username
        • :testuser
        • 名称:password
        • :testpass
  4. 添加属性显示监听器

    • 右键点击线程组 -> 添加 -> 监听器 -> 查看结果树。
    • 配置属性显示监听器:
      • 名称:查看请求和响应
      • 保存响应数据:勾选
      • 显示模式:选择“树形视图”
      • 高级设置
        • 响应数据的最大长度:10240
        • 显示响应数据:勾选
        • 显示响应头:勾选
        • 显示请求数据:勾选
        • 显示请求头:勾选
  5. 运行测试

    • 点击工具栏上的“启动”按钮,运行测试。
    • 在属性显示监听器中查看请求和响应数据,确保请求和响应内容正确。

 

 

 

079d3b66ccc241ffa7f1ea19364c6404.png


 

 

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

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

相关文章

Cocos编辑器

1、下载 下载地址&#xff1a;https://www.cocos.com/creator-download 2、编辑器界面介绍 官方链接&#xff1a;https://docs.cocos.com/creator/3.8/manual/zh/editor/ 3、项目结构 官方链接&#xff1a;https://docs.cocos.com/creator/3.8/manual/zh/getting-started/…

JAVA题目笔记(二十)Stream流综合练习+方法引用

一、数据过滤 import java.util.*; import java.util.stream.Collectors;public class Co {public static void main(String[] args) {List<Integer> listnew ArrayList<>();Collections.addAll(list,1,2,3,4,5,6,7,8,9,10);List<Integer> newlist list.str…

计算机操作系统——进程控制(Linux)

进程控制 进程创建fork&#xff08;&#xff09;函数fork() 的基本功能fork() 的基本语法fork() 的工作原理fork() 的典型使用示例fork() 的常见问题fork() 和 exec() 结合使用总结 进程终止与$进程终止的本质进程终止的情况正常退出&#xff08;Exit&#xff09;由于信号终止非…

摄像头原始数据读取——V4L2(mmap模式,V4L2_MEMORY_MMAP)

摄像头原始数据读取——V4L2(mmap模式,V4L2_MEMORY_MMAP) 内存映射模式&#xff0c;是将设备在内核态申请的用于存储视频数据的物理内存映射到用户空间&#xff0c;使得用户应用程序可以直接访问和操作设备数据物理内存&#xff0c;避免了数据的拷贝。因此采集速度较快&#x…

零地址挂页

零地址 如果我们有比较好的C编程基础&#xff0c;我们就会知道&#xff0c;我们在代码中定义了一个零地址或者空指针&#xff0c;那么它实际上会指向虚拟内存的零地址&#xff0c;多数操作系统&#xff0c;包括Win&#xff0c;在进程创建的时候&#xff0c;都会空出前64k的空间…

QT6学习第四天 感受QT的文件编译

QT6学习第四天 感受QT的文件编译 使用纯代码编写程序新建工程 使用其他编辑器纯代码编写程序并在命令行运行使用 .ui 表单文件生成界面使用自定义 C 窗口类使用现成的QT Designer界面类 使用纯代码编写程序 我们知道QT Creator中可以用拖拽的方式在 .ui 文件上布局&#xff0c…

windows安全中心,永久卸载工具分享

使用方法 2024Goby红队版工具分享&#xff0c;附2024年漏洞POC下载 下载链接&#xff1a; https://pan.quark.cn/s/4fc2712a2afc一路回车&#xff0c;选项Y即可 耐心等待几秒种&#xff0c;自动重启 此时打开windows安全中心&#xff0c;已经完全不能使用了&#xff0c;响应…

jvm核心组件介绍

1. 类加载器&#xff08;ClassLoader&#xff09;&#xff1a; • 想象它是一个快递员&#xff0c;负责把Java类&#xff08;.class文件&#xff09;这个“包裹”从磁盘这个“发货地”送到JVM内部这个“目的地”。类加载器确保每个类只被加载一次&#xff0c;并维护一个类的层级…

目标检测,图像分割,超分辨率重建

目标检测和图像分割 目标检测和图像分割是计算机视觉中的两个不同任务&#xff0c;它们的输出形式也有所不同。下面我将分别介绍这两个任务的输出。图像分割又可以分为&#xff1a;语义分割、实例分割、全景分割。 语义分割&#xff08;Semantic Segmentation&#xff09;&…

Python编程技巧:多变量赋值的优雅艺术

在Python编程的世界里&#xff0c;有许多令人惊叹的语法特性&#xff0c;而多变量赋值就像是一颗闪耀的明珠&#xff0c;它不仅让代码更优雅&#xff0c;还能提升程序的执行效率。今天我们就深入探讨这个看似简单却蕴含深意的编程技巧。 基础认识 传统的变量赋值方式&#xff…

CentOS 7 安装部署 KVM

1.关闭虚拟机 打开相关选项 打开虚拟机centos7 连接xshell 测试网络&#xff0c;现在就是没问题的&#xff0c;因为我们要使用网络源 安装 GNOME 桌面环境 安装KVM 模块 安装KVM 调试工具 构建虚拟机的命令行工具 qemu 组件,创建磁盘、启动虚拟机等 输入这条命令&#xff0c;…

微信小程序学习指南从入门到精通

&#x1f5fd;微信小程序学习指南从入门到精通&#x1f5fd; &#x1f51d;微信小程序学习指南从入门到精通&#x1f51d;✍前言✍&#x1f4bb;微信小程序学习指南前言&#x1f4bb;一、&#x1f680;文章列表&#x1f680;二、&#x1f52f;教程文章的好处&#x1f52f;1. ✅…

【C++】读取数量不定的输入数据

读取数量不定的输入数据 似乎是一个很实用的东西&#xff1f; 问题&#xff1a; 我们如何对用户输入的一组数&#xff08;事先不知道具体有多少个数&#xff09;求和&#xff1f; 这需要不断读取数据直至没有新的输入为止。&#xff08;所以我们的代码就是这样设计的&#x…

基于vite创建的react18项目的单元测试

题外话 最近一个小伙伴进了字节外包&#xff0c;第一个活就是让他写一个单元测试。 嗯&#xff0c;说实话&#xff0c;在今天之前我只知道一些理论&#xff0c;但是并没有实操过&#xff0c;于是我就试验了一下。 通过查询资料&#xff0c;大拿们基本都说基于vite的项目&…

如何用通义灵码助力项目开发 | OceanBase obdiag 项目共建实践

本文来自 obdiag 项目共建的用户分享 一、背景 我的数据库探索之旅始于OceanBase。作为一位满怀好奇心的DBA&#xff0c;我内心始终怀揣着对数据库内部运作机制的无尽向往。开源如同一把钥匙&#xff0c;为我们这些求知欲旺盛的“好奇猫”解锁了通往新知的神秘大门。在众多分布…

idea_卸载与安装

卸载与安装 卸载1、设置 -> 应用2、查找到应用&#xff0c;点击卸载3、把删除记录和设置都勾选上4、删除其它几个位置的残留 安装1、下载安装包2、欢迎安装 -> Next3、选择安装目录 -> Next4、创建快捷图标和添加到环境变量5、确认文件夹的名称 -> Install6、完成安…

day01

Hm-Footer.vue <template><div class"hm-footer">我是hm-footer</div></template><script>export default {}</script><style>.hm-footer{height:100px;line-height:100px;text-align:center;font-size:30px;background-…

NLP 1、人工智能与NLP简介

人人都不看好你&#xff0c;可偏偏你最争气 —— 24.11.26 一、AI和NLP的基本介绍 1.人工智能发展流程 弱人工智能 ——> 强人工智能 ——> 超人工智能 ① 弱人工智能 人工智能算法只能在限定领域解决特定的问题 eg&#xff1a;特定场景下的文本分类、垂直领域下的对…

基于混合ABC和A*算法复现

基于混合ABC和A*算法复现 一、背景介绍二、算法原理&#xff08;一&#xff09;A*算法原理&#xff08;二&#xff09;人工蜂群算法原理&#xff08;三&#xff09;混合ABC和A*算法策略 三、代码实现&#xff08;一&#xff09;数据准备&#xff08;二&#xff09;关键函数实现…

解决SpringBoot连接Websocket报:请求路径 404 No static resource websocket.

问题发现 最近在工作中用到了WebSocket进行前后端的消息通信&#xff0c;后端代码编写完后&#xff0c;测试一下是否连接成功&#xff0c;发现报No static resource websocket.&#xff0c;看这个错貌似将接口变成了静态资源来访问了&#xff0c;第一时间觉得是端点没有注册成…