【Jmeter】Jmeter 高并發性能壓力測試

目錄

一、下載 Jmeter

二、配置環境變量

三、設置中文語言

四、入門最簡單的高并發性能壓測流程

1. 添加線程組

2. 添加請求

3. 添加監聽器

3.1 添加聚合報告

?3.2 添加結果樹

4. 啟動測試

?2 種啟動方式:

查看結果樹:

聚合報告:

五、其它操作

?1. 清理測試數據


一、下載 Jmeter

Jmeter 下載鏈接

隨便下載一個壓縮包版本

解壓后進入 bin 打開:

  • jmeter.sh :Linux 版本的啟動腳本
  • jmeter.cmd :Windows 版本的啟動腳本

ApacheJMeter.jar?JAR文件?JMeter的核心文件?,包含所有類和資源,雙擊可啟動JMeter。
?BeanShellAssertion.bshrc?BeanShell腳本?BeanShell斷言配置?,用于測試過程中執行腳本斷言。
?BeanShellFunction.bshrc?BeanShell腳本?BeanShell函數配置?,定義和使用自定義BeanShell函數。
?BeanShellListeners.bshrc?BeanShell腳本?BeanShell監聽器配置?,用于測試過程中的監聽操作。
?BeanShellSampler.bshrc?BeanShell腳本?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.groovy?Groovy腳本?實用工具腳本?,可能包含自定義函數或工具類。

二、配置環境變量

  • 在正常情況下,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 默認端口。
*?8080,?8443: 常見的應用服務器 HTTP/HTTPS 端口。
*?留空: 如果使用?http?協議則默認為?80,使用?https?協議則默認為?443
HTTP 請求 (HTTP Request)選擇 HTTP 請求方法 (Verb)*?GET: 獲取資源(參數通常在 URL 后??key=value)。
*?POST: 提交數據(數據通常在 Body 中)。
*?PUT: 更新資源。
*?DELETE: 刪除資源。
*?HEAD,?OPTIONS,?PATCH?等。?POST?最常用,特別是帶表單或 JSON 時。
路徑 (Path)指定請求的資源路徑 (URI),相對于服務器的根目錄。*?/index.html
*?/api/v1/login
*?/products/search
注意:
*?必須以?/?開頭。
* 可以包含路徑參數 (如?/users/{userId}),但 JMeter 不直接處理占位符,需用變量或硬編碼值替換。
內容編碼 (Content encoding)指定?HTTP 請求體 (Body)?的字符編碼。主要影響?POST/PUT?等方法中發送的?Parameters?或?Body Data*?utf-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?等方法發送?非表單數據,如?JSON,?XML,?純文本*?{"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/png,?text/plain,?application/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
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/84774.shtml
英文地址,請注明出處:http://en.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…