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

学习黑客 PowerShell 详解

PowerShell 详解:管道、过滤和常用命令技术指南 🚀

作者: 海尔辛 | 发布时间: 2025-05-19 12:18:38 UTC

📋 目录

  1. PowerShell 管道详解
  2. 文本搜索与过滤
  3. 结果限制与选择
  4. 比较和条件操作符
  5. 格式化输出
  6. 对象操作与属性访问
  7. 错误处理
  8. 综合实例与最佳实践

1. PowerShell 管道详解

PowerShell 的管道操作符 | 是其最强大的特性之一,但与传统 Shell 的不同之处在于,PowerShell 传递的是对象而非纯文本。

🔹 管道基础

# 基本管道语法
Command1 | Command2 | Command3# 实际示例:获取进程并按内存使用排序
Get-Process | Sort-Object -Property WorkingSet -Descending

🔹 管道工作原理

在 PowerShell 中:

  1. 左侧命令将完整对象传递给右侧命令
  2. 右侧命令对这些对象进行处理,而不仅仅是文本
# 这个命令会传递Process对象,不只是进程名
Get-Process | Where-Object { $_.CPU -gt 50 }

🔹 $_$PSItem

这两个变量在管道中表示"当前对象",它们是完全等价的:

# 使用 $_ (更常见)
Get-Service | Where-Object { $_.Status -eq "Running" }# 使用 $PSItem (更具可读性)
Get-Service | Where-Object { $PSItem.Status -eq "Running" }

🔹 管道链式命令示例

# 找出占用CPU最高的5个进程的名称和CPU使用率
Get-Process | Sort-Object -Property CPU -Descending | Select-Object -First 5 -Property Name, CPU

2. 文本搜索与过滤

PowerShell 中搜索文本不使用 findstr(CMD 命令),而是有多种专用命令。

🔹 Select-String (PowerShell 中的 grep/findstr)

# 在文件中搜索内容
Select-String -Path "C:\logs\*.log" -Pattern "error"# 搜索多个文件类型
Get-ChildItem -Path C:\Scripts -Filter *.* -Recurse | Select-String -Pattern "password" | Format-List Path, Line

🔹 文本过滤的高级用法

# 使用正则表达式
Select-String -Path "C:\logs\app.log" -Pattern "\b\d{3}-\d{2}-\d{4}\b" # 查找SSN格式的内容# 查找并显示周围上下文
Select-String -Path "C:\logs\app.log" -Pattern "critical error" -Context 2,2 # 显示匹配行上下2行# 忽略大小写(默认已忽略)
Select-String -Path "file.txt" -Pattern "ERROR" -CaseSensitive # 仅匹配大写

🔹 与 Where-Object 结合过滤

# 过滤文本内容
Get-Content "C:\logs\app.log" | Where-Object { $_ -match "error" }# 过滤包含特定文本的文件
Get-ChildItem -Path C:\Scripts -Recurse | Where-Object { $_.Extension -eq ".ps1" -and (Get-Content $_.FullName | Select-String "Administrator") }

3. 结果限制与选择

控制命令输出数量和范围的命令。

🔹 Select-Object 限制

# 获取前N项元素 (-First)
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5# 获取后N项元素 (-Last)
Get-EventLog -LogName System -Newest 100 | Select-Object -Last 10# 跳过前N项元素 (-Skip)
Get-ChildItem | Select-Object -Skip 5# 结合使用Skip和First选择范围
Get-Process | Select-Object -Skip 10 -First 5  # 选择第11-15个进程

🔹 限制 Get 命令的返回结果

许多 Get 命令有内置限制参数:

# 直接限制获取项目数
Get-EventLog -LogName Application -Newest 20# 使用 -MaxEvents 参数
Get-WinEvent -LogName System -MaxEvents 10# 获取文件前N行
Get-Content -Path "C:\logs\large.log" -TotalCount 50# 获取文件后N行
Get-Content -Path "C:\logs\large.log" -Tail 50

🔹 调整 ForEach-Object 处理

# 处理前100个对象后停止
$count = 0
Get-ChildItem -Recurse | ForEach-Object {$count++if ($count -gt 100) { break }$_.FullName
}

4. 比较和条件操作符

PowerShell 中的比较操作符具有独特特性。

🔹 比较操作符

操作符描述示例
-eq等于$a -eq 5
-ne不等于$a -ne 0
-gt大于$a -gt 10
-ge大于等于$a -ge 10
-lt小于$a -lt 20
-le小于等于$a -le 20
-like通配符匹配$name -like "J*"
-notlike通配符不匹配$name -notlike "J*"
-match正则表达式匹配$text -match "^\d{3}-\d{2}-\d{4}$"
-notmatch正则表达式不匹配`$text -notmatch "error
-contains集合包含值$array -contains "value"
-notcontains集合不包含值$array -notcontains "value"
-in值在集合中"value" -in $array
-notin值不在集合中"value" -notin $array

🔹 逻辑操作符

# 逻辑AND
Get-Process | Where-Object { $_.CPU -gt 10 -and $_.WorkingSet -gt 50MB }# 逻辑OR
Get-Service | Where-Object { $_.Status -eq "Running" -or $_.Name -like "win*" }# 逻辑NOT
Get-Service | Where-Object { -not ($_.Status -eq "Running") }
# 等同于
Get-Service | Where-Object { $_.Status -ne "Running" }

🔹 通配符和正则表达式

# 通配符例子 (*表示任意多个字符,?表示任意单个字符)
Get-ChildItem -Path C:\Windows\*.exe
Get-Process | Where-Object { $_.Name -like "w*" }# 正则表达式例子
Get-Process | Where-Object { $_.Name -match "^w.*d$" } # 以w开头,d结尾
Get-ChildItem | Where-Object { $_.Name -match "\d{4}" } # 包含4个连续数字

5. 格式化输出

格式化命令能控制PowerShell输出的显示方式。

🔹 基本格式化命令

# 表格格式(默认)
Get-Process | Format-Table# 列表格式(详细)
Get-Process -Name svchost | Format-List# 网格视图(交互)
Get-Process | Out-GridView# 宽表格格式(更多列)
Get-Process | Format-Wide -Property Name -Column 4

🔹 自定义格式化

# 选择特定列显示
Get-Process | Format-Table Name, ID, CPU, WorkingSet# 计算属性(显示MB单位)
Get-Process | Format-Table Name, ID, @{Name="Memory(MB)"Expression={$_.WorkingSet / 1MB -as [int]}
}# 对列排序和分组
Get-Service | Sort-Object Status | Format-Table -GroupBy Status

🔹 导出和重定向

# 导出为CSV
Get-Process | Export-Csv -Path "processes.csv" -NoTypeInformation# 导出为JSON
Get-Process | ConvertTo-Json | Out-File "processes.json"# 导出为XML
Get-Process | Export-Clixml -Path "processes.xml"# 控制台和文件同时输出
Get-Process | Tee-Object -FilePath "processes.txt" -Append

6. 对象操作与属性访问

PowerShell处理的是对象而非纯文本,了解对象操作至关重要。

🔹 属性选择与过滤

# 选择特定属性
Get-Process | Select-Object Name, ID, CPU# 展开复杂属性
Get-WmiObject Win32_NetworkAdapter | Select-Object Name, @{Name="IPAddresses"Expression={$_.GetRelated("Win32_NetworkAdapterConfiguration").IPAddress}
}# 获取所有属性和方法
Get-Process | Get-Member

🔹 对象转换与操作

# 将对象转换为另一种类型
"42" -as [int]
[datetime]"2025-05-19"# 创建自定义对象
$obj = [PSCustomObject]@{Name = "Knightluozichu"Role = "PowerShell专家"Skills = "PowerShell", "安全", "自动化"
}# 遍历对象进行操作
Get-Process | ForEach-Object {$_.Name = $_.Name.ToUpper()$_
}

7. 错误处理

理解PowerShell的错误处理机制可以编写更健壮的脚本。

🔹 错误类型和处理

# 终止性错误 vs. 非终止性错误
Stop-Process -Name "NonExistentProcess" # 非终止性错误
Remove-Item "C:\NonExistentFolder\file.txt" -ErrorAction Stop # 转为终止性错误# 错误操作参数
# -ErrorAction SilentlyContinue (忽略错误继续)
Get-ChildItem -Path C:\ -Recurse -ErrorAction SilentlyContinue# -ErrorAction Stop (将非终止错误转为终止错误)
Get-Item "C:\NonExistentFile.txt" -ErrorAction Stop# -ErrorVariable (捕获错误到变量)
Get-Process -Name "NonExistentProcess" -ErrorVariable ProcessError
if ($ProcessError) { Write-Host "发生了错误: $ProcessError" }

🔹 Try/Catch/Finally

try {# 尝试执行的代码$result = 10 / 0  # 会产生除零错误
} catch [System.DivideByZeroException] {# 特定类型错误处理Write-Host "捕获到除零错误!"
} catch {# 其他任何错误处理Write-Host "发生了一个错误: $_"
} finally {# 无论是否发生错误都会执行Write-Host "清理资源..."
}

8. 综合实例与最佳实践

将前面所学概念组合使用的实际例子。

🔹 系统监控和报告

# 生成高内存进程报告
$highMemProcesses = Get-Process | Where-Object { $_.WorkingSet -gt 100MB } |Sort-Object WorkingSet -Descending |Select-Object -First 10 -Property Name, ID, @{Name="Memory(MB)"Expression={[math]::Round($_.WorkingSet / 1MB, 2)}}# 格式化输出并同时写入屏幕和文件
$highMemProcesses | Format-Table -AutoSize | Tee-Object -FilePath "C:\Reports\HighMemoryProcesses_$(Get-Date -Format 'yyyyMMdd').txt"

🔹 日志分析

# 搜索过去24小时的系统错误并生成摘要
$yesterday = (Get-Date).AddDays(-1)
$errors = Get-WinEvent -FilterHashtable @{LogName = 'System'Level = 2  # 错误级别StartTime = $yesterday
} -ErrorAction SilentlyContinue# 按来源分组并统计
$errorSummary = $errors | Group-Object -Property ProviderName | Select-Object @{Name="Source"Expression={$_.Name}}, @{Name="ErrorCount"Expression={$_.Count}} |Sort-Object ErrorCount -Descending# 输出统计和详情
"共发现 $($errors.Count) 个系统错误,按来源统计:"
$errorSummary | Format-Table -AutoSize"前5个最新错误详情:"
$errors | Select-Object -First 5 TimeCreated, ProviderName, Id, Message | Format-List

🔹 批量文件处理

# 在指定目录中查找并处理所有大于100MB的日志文件
$largeLogFiles = Get-ChildItem -Path "C:\Logs" -Filter "*.log" -Recurse |Where-Object { $_.Length -gt 100MB } |Sort-Object Length -Descending# 处理每个文件
foreach ($file in $largeLogFiles) {try {# 获取最近的错误行$errorLines = Get-Content $file.FullName -Tail 1000 | Select-String -Pattern "ERROR|CRITICAL|EXCEPTION" -Context 0,2if ($errorLines.Count -gt 0) {# 创建报告目录$reportDir = "C:\Reports\LogAnalysis"if (-not (Test-Path $reportDir)) {New-Item -Path $reportDir -ItemType Directory -Force | Out-Null}# 提取文件名并创建报告$reportName = "$reportDir\$($file.BaseName)_ErrorReport.txt"# 写入报告"文件: $($file.FullName)" | Out-File $reportName"大小: $([math]::Round($file.Length / 1MB, 2)) MB" | Out-File $reportName -Append"分析时间: $(Get-Date)" | Out-File $reportName -Append"发现错误数: $($errorLines.Count)" | Out-File $reportName -Append"详细错误:" | Out-File $reportName -Append$errorLines | Out-File $reportName -AppendWrite-Host "已为 $($file.Name) 创建错误报告:$reportName" -ForegroundColor Green}} catch {Write-Warning "处理文件 $($file.FullName) 时出错: $_"}
}

🔹 综合PowerShell最佳实践

  1. 管道优化

    • 尽早在管道中过滤数据,减少传递的对象数量
    • 使用Select-Object仅选择需要的属性,减小内存使用
  2. 命令规范化

    • 使用完整命令名称而非别名编写脚本(别名仅适用于交互式命令行)
    • 使用参数名称而非位置参数增强可读性
  3. 性能考虑

    • 处理大量对象时考虑使用ForEach-Object -Parallel(PowerShell 7+)
    • 使用-Filter参数而非Where-Object以在命令开始处过滤
  4. 脚本安全性

    • 总是验证和清理用户输入
    • 使用-WhatIf-Confirm参数进行危险操作

通过掌握这些PowerShell概念和技术,你能够更高效地执行系统管理任务,自动化繁琐操作,并构建强大的工具解决复杂问题。PowerShell真正的强大之处在于它将对象处理、.NET框架和灵活的脚本语言结合在一起,一旦掌握,你将拥有几乎无限的自动化能力。

祝你在PowerShell学习之旅中取得成功!🚀 如有任何问题,随时提问!

相关文章:

学习黑客 PowerShell 详解

PowerShell 详解:管道、过滤和常用命令技术指南 🚀 作者: 海尔辛 | 发布时间: 2025-05-19 12:18:38 UTC 📋 目录 PowerShell 管道详解文本搜索与过滤结果限制与选择比较和条件操作符格式化输出对象操作与属性访问错误处理综合实例与最佳实…...

【QT】一个界面中嵌入其它界面(二)

以下是使用 QStackedWidget 实现动态切换界面的完整代码,包含详细的注释和实现步骤: 完整代码 1. 子界面类:Page1 和 Page2 首先创建两个简单的子界面类,用于嵌入到 QStackedWidget 中。 // Page1.h #ifndef PAGE1_H #define P…...

前端的面试笔记——HTMLJavaScript篇(二)前端页面性能检测

前端页面性能检测和判定是优化用户体验的核心环节,需要结合实验室数据(Lab Data)、现场数据(Field Data)和行业标准综合评估。以下是主流方法、工具及判定标准的详细解析: 一、性能检测的核心维度与指标 …...

FD+Mysql的Insert时的字段赋值乱码问题

方法一 FDQuery4.SQL.Text : INSERT INTO 信息表 (中心, 分组) values(:中心,:分组); FDQuery4.Params[0].DataType : ftWideString; //必须加这个数据类型的定义,否则会有乱码 FDQuery4.Params[1].DataType : ftWideString; //ftstring就不行,必须是…...

论坛系统(中-2)

软件开发 实现业务功能 个人中心 页面结构介绍 个人中心的页面结构分为三部分 1> 导航栏 2> 正文部分 3> 页脚部分 index.html 的页面结构 1> 导航栏 2> 正文部分 3> 页脚部分 获取用户信息 实现逻辑 ⽤⼾提交请求,服务器根据是否传⼊I…...

火山 RTC 引擎9 ----集成 appkey

一、集成 appkey 1、网易RTC 初始化过程 1)、添加头文件 实现互动直播 - 互动直播 2.0网易云信互动直播产品的基本功能包括音视频通话和连麦直播,当您成功初始化 SDK 之后,您可以简单体验本产品的基本业务流程,例如主播加入房间…...

Protobuf协议生成和使用

知识点一 利用protoc.exe编译器生成脚本文件 //1.打开cmd窗口 //2.进入protoc.exe所在文件夹(也可以直接将exe文件拖入cmd窗口中) //3.输入转换指令 //protoc.exe -I配置路径 --csharp_out输出路径 配置文件名 //注意&…...

2025年—ComfyUI_关于ComfyUI的零碎小知识

之前有个朋友问我要了一个软件安装包,我分享了网盘链接,过了会儿朋友说解压后点击安装一直提示失败,还发给我报错信息,我从没遇到过,也不知做何解,于是要了截图,看着不对劲,问其在哪…...

用 SamGeo 库实现遥感影像自动分割:从本地 TIFF 到 SHP/GeoJSON 的一站式处理(Python 脚本实现)

背景:地理空间数据处理的智能化转型与 SAM 模型的革新应用 在遥感测绘、城市规划、环境监测等领域,地理空间影像数据的自动化处理一直是提升效率的核心需求。传统的影像分割方法依赖人工标注或复杂的参数调优,难以应对海量卫星 / 无人机影像的快速分析;而栅格数据(如 Geo…...

Excel导入校验

校验监听器 /*** Excel 校验监听器* param <T>*/ public class AnalysisValidReadListener<T> extends AnalysisEventListener<T> {private static final Logger logger LoggerFactory.getLogger(AnalysisValidReadListener.class);private static final i…...

【批量图片查找】在电脑上如何根据文件名清单一次性查找多张图片并复制到指定文件夹,基于Python的解决方案

一、应用场景 这个工具适用于以下场景&#xff1a; 设计师需要从大量素材中筛选特定图片复制并保存摄影师需要根据文件名批量整理照片查找筛选复制电商运营人员需要从产品库中提取特定商品图片复制到指定文件夹数据分析师需要批量收集特定图片复制保存用于处理任何需要从大量图…...

湖北理元理律师事务所观察:债务服务中的“倾听者价值”

在债务纠纷解决过程中&#xff0c;法律专业能力与心理支持同样重要。调研显示&#xff0c;72%的债务人在咨询初期存在“隐瞒真实负债”“抗拒沟通”等行为&#xff0c;直接影响方案有效性。湖北理元理律师事务所通过服务模式创新&#xff0c;尝试破解这一难题。 建立信任的三大…...

GPT-4.1特点?如何使用GPT-4.1模型,GPT-4.1编码和图像理解能力实例展示

几天前&#xff0c;OpenAI在 API 中推出了三个新模型&#xff1a;GPT-4.1、GPT-4.1 mini 和 GPT-4.1 nano。这些模型的性能全面超越 GPT-4o 和 GPT-4o mini(感觉这个GPT-4.1就是GPT-4o的升级迭代版本)&#xff0c;主要在编码和指令跟踪方面均有显著提升。还拥有更大的上下文窗口…...

网络工程师案例分析

✅ Huawei Super VLAN 通信规则总结 &#x1f310; 基本结构 Super VLAN&#xff1a;逻辑 VLAN&#xff0c;承载三层网关&#xff08;VLANIF 接口&#xff09;。 Sub VLAN&#xff1a;实际的用户 VLAN&#xff0c;不配置 IP&#xff0c;仅做二层转发。 &#x1f512; 通信规…...

tcp/ip协议

OSI参考模型 应用层&#xff1a;OSI最高层。确定进程之间通信性质 协议:http:80,https:443,ftp:21,telnet:23,ssh:22,smtp:25,pop3 表示层:处理流经结点的数据编码的表示方式问题&#xff0c;以保证一个系统应用层发出的消息可被另一系统的应用层读出&#xff0c;数据压缩和加…...

小红书的视频怎么保存没有水印(方法分享)

你是不是也经常在小红书上刷到超赞的旅行vlog、美妆教程或美食探店视频&#xff0c;想保存下来慢慢看&#xff0c;却发现下载后总有烦人的水印&#xff1f;别急&#xff01;今天教你一招&#xff0c;3秒轻松保存无水印高清视频&#xff0c;简单又实用&#xff01; 为什么需要无…...

RK3568解码1080P视频时遇到系统崩溃内核挂掉的解决方案

接上篇rk3568。 实际使用 rock_mpp库硬解码时&#xff0c;会遇到解码1080P视频整个系统卡死&#xff0c;内核崩溃的问题。 以下是内核崩溃的日志&#xff0c;下面这句是典型的内核某块驱动挂掉的信息。 [ 292.469580] Unable to handle kernel NULL pointer dereference at…...

C++ —— Lambda 表达式

&#x1f381;个人主页&#xff1a;工藤新一 &#x1f50d;系列专栏&#xff1a;C面向对象&#xff08;类和对象篇&#xff09; &#x1f31f;心中的天空之城&#xff0c;终会照亮我前方的路 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 文章目录 L…...

Keepalived相关配置和高可用

目录 一. Keepalived的工作原理 二. 实现单独的心跳网卡 三. keepalive一些优化 3.1 主从之间加密验证 3.2 修改心跳线发送时间 四. 添加独立日志 五. 抢占模式&#xff0c;非抢占模式&#xff0c;延迟抢占模式 六. 单播地址和多播地址 1. 单播地址&#xff08;Unicast…...

gtest 库的安装和使用

目录 介绍 安装 使用 介绍 官方文档&#xff1a;GoogleTest 入门 |GoogleTest 谷歌测试 gtest 库是谷歌开源的 C测试单元框架&#xff0c;方便我们测试程序的正确性。 安装 sudo apt-get install libgtest-dev 使用 GTest 中的断言的宏可以分为两类&#xff1a; • ASS…...

Python训练营打卡——DAY30(2025.5.19)

目录 模块和库的导入 一、导入官方库 1. 标准导入&#xff1a;导入整个库 2. 从库中导入特定项 3. 非标准导入&#xff1a;导入整个库 二、模块、包的定义 三、使用案例 场景1: main.py 和 circle.py 都在同一目录 场景2: main.py 和 circle.py 都在根目录的子目录 mo…...

Django框架的前端部分使用Ajax请求一

Ajax请求 目录 1.ajax请求使用 2.增加任务列表功能(只有查看和新增) 3.代码展示集合 这篇文章, 要开始讲关于ajax请求的内容了。这个和以前文章中写道的Vue框架里面的axios请求, 很相似。后端代码, 会有一些细节点, 跟前几节文章写的有些区别。 一、ajax请求使用 我们先…...

w~自动驾驶~合集3

我自己的原文哦~ https://blog.51cto.com/whaosoft/13269720 #FastOcc 推理更快、部署友好Occ算法来啦&#xff01; 在自动驾驶系统当中&#xff0c;感知任务是整个自驾系统中至关重要的组成部分。感知任务的主要目标是使自动驾驶车辆能够理解和感知周围的环境元素&…...

LeetCode 39. 组合总和 LeetCode 40.组合总和II LeetCode 131.分割回文串

LeetCode 39. 组合总和 需要注意的是题目已经明确了数组内的元素不重复&#xff08;重复的话需要执行去重操作&#xff09;&#xff0c;且元素都为正整数&#xff08;如果存在0&#xff0c;则会出现死循环&#xff09;。 思路1&#xff1a;暴力解法 对最后结果进行去重 每一…...

C++(2)关键字+数据类型 +数据类型输入

&#xff08;1&#xff09;如下关键字是 不能用于定义变量名和常量名的 &#xff01;。 如int int 这样就会报错 所以注意即可 。 &#xff08;2&#xff09;标识符命名规则 &#xff08;即变量和常量的命名规则&#xff09; 最主要注意 第一个 字符必须是字母或是下划线 —…...

第二道re

题目来源&#xff1a;天狩CTF竞赛平台 Lihuas for 题目提示说是for循环&#xff0c;不管了干吧 先看加没加壳&#xff0c;没有&#xff0c;直接无脑IDAF5 代码功能概述 程序会要求用户输入一个 flag&#xff0c;然后将输入的每个字符与索引值进行异或运算&#xff0c;并将结…...

【C语言内存函数】--memcpy和memmove的使用和模拟实现,memset函数的使用,memcmp函数的使用

目录 一.memcpy的使用和模拟实现 1.1--memcpy的使用演示 1.2--memcpy的模拟实现 二.memmove的使用和模拟实现 2.1--memmove的使用演示 2.2--memmove的模拟实现 三.memset函数的使用 3.1--memset的使用演示 3.2--总结 四.memcmp函数的使用 4.1--memcmp的使用演示 4.2…...

java集合详细讲解

Java 8 集合框架详解 Java集合框架是Java中最重要、最常用的API之一&#xff0c;Java 8对其进行了多项增强。下面我将全面讲解Java 8中的集合框架。 一、集合框架概述 Java集合框架主要分为两大类&#xff1a; Collection - 单列集合 List&#xff1a;有序可重复Set&#xf…...

UniApp 实现的文件预览与查看功能#三方框架 #Uniapp

UniApp 实现的文件预览与查看功能 前言 在开发移动应用时&#xff0c;文件预览功能是一个非常常见的需求。无论是查看PDF文档、图片还是Office文件&#xff0c;都需要一个稳定且易用的预览解决方案。本文将详细介绍如何在UniApp中实现各类文件的预览功能&#xff0c;并分享一…...

用户行为日志分析的常用架构

## 1. 经典Lambda架构 Lambda架构是一种流行的大数据处理架构&#xff0c;特别适合用户行为日志分析场景。 ### 1.1 架构组成 Lambda架构包含三层&#xff1a; - **批处理层(Batch Layer)**: 存储全量数据并进行离线批处理 - **实时处理层(Speed Layer)**: 处理最新数据&…...

【VBA/word】批量替换字体大小

将5号或6号字体改为10.5号字体&#xff08;循环10次&#xff09; AI复制的文案问题调整 Sub Change5or6ptTo16pt_10Loops()Dim rng As RangeDim doc As DocumentDim found As BooleanDim i As IntegerDim totalChanges As LongDim targetSizes As VariantDim size As VariantSe…...

C++类与对象--3 C++对象模型和this指针

3.1 类成员分开存储 成员变量和成员函数在内存中是分开存储的只有非静态成员变量是存储在对象上的 C为空对象分配1字节的空间非空对象的大小为其内部非成员变量大小总和 静态成员不占对象空间不同对象的成员函数共享一个函数实例&#xff0c;不占对象空间&#xff08;通过th…...

DV SSL证书管理主要有哪些功能?

在互联网信息传输高速发展的今天&#xff0c;用户对网站安全性的要求越来越高。SSL证书已成为网站“身份认证数据加密”的标配。其中&#xff0c;DV SSL证书由于其签发快速、价格低廉、使用广泛&#xff0c;成为大量中小型网站、个人博客、电商平台的首选。然而&#xff0c;选择…...

el-tree结合el-tree-transfer实现穿梭框里展示树形数据

参考文章&#xff1a;我把他的弹框单拉出来一个独立文件作为组件方便使用&#xff0c;遇到一些问题记录一下。 testComponet.vue <template><div class"per_container"><div class"per_con_left"><div class"per_con_title&q…...

浅谈GC机制-三色标记和混合写屏障

标记清除法 stw&#xff08;stop the world&#xff09;&#xff1a;暂停所有goroutine&#xff0c;扫描出可达与不可达对象&#xff0c;进行回收 三色标记法 不暂停&#xff0c;并发扫描&#xff0c;从根节点出发&#xff0c;扫描过对象的为黑&#xff0c;下一个可达对象为…...

Python训练营打卡 Day30

模块和库的导入 知识点回顾&#xff1a; 导入官方库的三种手段 直接导入整个库&#xff1a;使用 import library_name 语法。 导入库中的特定模块或函数&#xff1a;使用 from library_name import module_name 或 from library_name import function_name。 导入库并起别名&…...

深入探讨死区生成:原理、实现与应用

在电力电子、信号处理等众多领域中&#xff0c;“死区生成”是一个十分关键的概念&#xff0c;它能有效避免器件误动作、减少干扰&#xff0c;保障系统稳定运行。今天就通过问答的形式&#xff0c;和大家深入聊聊死区生成相关知识。 什么是死区生成&#xff1f; 死区生成是指…...

OpenCV 环境搭建与概述

// //OpenCV-4.11.0 C VS2019 // 一、OpenCV学习路线 1、入门: OpenCV图像读写、视频读写、基本像素处理、基本卷积处理、基本C开发知识。 2、初级: OpenCV自定义卷积操作、图像梯度、边缘提取、二值分析、视频分析、形态学处理、几何变换与透视变换。 3、中级: 角点查找、BL…...

c/c++的opencv均值函数

C/C 中的均值函数&#xff1a;从基础到应用 &#x1f4ca; 在 C/C 编程中&#xff0c;计算一组数值的**均值&#xff08;平均值&#xff09;**是一项非常基础且常见的操作。无论是数据分析、信号处理、图像处理还是机器学习&#xff0c;均值函数都扮演着重要的角色。本文将详细…...

go 数据类型转换

graph TDA[整型<br>int, int8, int16, int32, int64] -->|类型转换| B[浮点型<br>float32, float64]B -->|类型转换| AA -->|类型转换| C[布尔型<br>bool]C -->|类型转换| AB -->|类型转换| D[复数型<br>complex64, complex128]D -->…...

Go内存管理

内存管理 文章目录 内存管理何为内存&#xff1f;内存为什么需要管理&#xff1f;内存管理的方式操作系统存储模型操作系统是怎么管理内存的&#xff1f;虚拟内存与物理内存认识虚拟内存分页管理 Golang 内存模型TCMalloc核心概念go内存管理核心概念GO内存分配GO 内存逃逸机制一…...

解决软件连接RabbitMQ突发System.IO.IOException: 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接异常

一、问题描述 系统再运行时&#xff0c;突然出现 System.Exception: [RabbitMQ.Send Error] RabbitMQ.Client.Exceptions.AlreadyClosedException: Already closed: The AMQP operation was interrupted: AMQP close-reason, initiated by Library, code541, text“Unexpected…...

基于局部显著位置感知的异常掩码合成方法在CT图像肺部疾病异常检测与病变定位中的应用|文献速递-深度学习医疗AI最新文献

Title 题目 Local salient location-aware anomaly mask synthesis for pulmonary disease anomaly detection and lesion localization in CT images 基于局部显著位置感知的异常掩码合成方法在CT图像肺部疾病异常检测与病变定位中的应用 01 文献速递介绍 肺部疾病是全球发…...

【cursor疑惑】cursor续杯后使用agent对话时,提示“需要pro或商业订阅的用户才能使用“

背景 cursor的pro会员体验过期了&#xff0c;想再次体验deepseek、Claude等agent对话提示:“免费版本不可以使用agent对话功能(英文忘记截图了&#xff0c;大意是这样)”。 处理方法 Step-1&#xff1a;再次续杯cursor的pro会员14天体验 详情&#xff0c;见&#xff1a;【c…...

2022年下半年信息系统项目管理师——综合知识真题及答案(3)

2022年下半年信息系统项目管理师 ——综合知识真题及答案&#xff08;3&#xff09; 零、时光宝盒 &#xff08;https://blog.csdn.net/weixin_69553582 逆境清醒&#xff09; 此文是我2025-05-19回复头条上某作者文章时的评论记录&#xff0c;原作者的文章是写那些被有组织…...

华为云Flexus+DeepSeek征文|基于华为云Flexus云服务的云服务器单机部署Dify-LLM应用开发平台

目录 一、前言 二、华为云Flexus云服务优势 三、华为云Flexus一键部署Dify 3.1 选择模板 3.2 参数配置 3.3 资源栈设置 3.4 配置确认 3.5 创建执行计划 3.6 部署 四、Dify-LLM应用开发平台初体验 4.1 访问Dify-LLM应用开发平台 4.2 设置管理员账户 4.3 登录Dify-LLM应用开发平台…...

NC105NC106美光固态颗粒NC108NC109

NC105NC106美光固态颗粒NC108NC109 美光固态颗粒技术矩阵深度解析&#xff1a;NC105/NC106/NC108/NC109的性能博弈与市场卡位 一、技术基因图谱&#xff1a;解密NC系列颗粒的底层架构 1. TLC与QLC的技术路线分野 美光NC系列颗粒呈现出清晰的技术分层&#xff1a;NC105/NC10…...

洛谷U536262 井底之“鸡” 附视频讲解

题目截图 题目背景 2024年山东财经大学新生赛的时候&#xff0c;xz_chicken厌倦了在鸡舍的生活&#xff0c;于是决定把他的主人ZQH写成QH鸡&#xff0c;然而除了在第一题中已经出现了ZQH所在队伍征途再起的合影&#xff0c;同时xz_chicken还露出其他马脚&#xff0c;比如说答案…...

特征筛选方法总结(面试准备15)

非模型方法 一.FILTER过滤法&#xff1a; 1.缺失值比例&#xff08;80%以上缺失则删除&#xff09;/方差 注意&#xff1a; 连续变量只删方差为0的&#xff0c;因为变量取值范围会影响方差大小。 离散类的看各类取值占比,如果是三分类变量可以视作连续变量。 函数&#xff1a;V…...

深入解析分布式数据库TiDB:原理、优化与架构实践

前言 在云计算与大数据时代&#xff0c;传统单机数据库面临三大挑战&#xff1a;海量数据存储、高并发访问和实时分析需求。MySQL 分库分表方案复杂、NoSQL 缺乏 ACID 支持、MPP 数仓难以处理 OLTP… 在这样的背景下&#xff0c;TiDB 应运而生。作为一款开源的分布式 NewSQL 数…...