第六十五章:AI的“精良食材”:圖像標注、視頻幀抽幀與字幕提取技巧

ai 數據處理

  • 前言:從“原始食材”到“AI盛宴”
  • 第一章:圖像標注:為AI“指點江山”
    • 1.1 什么是圖像標注?—— AI的“視覺標簽”
    • 1.2 分類任務:圖像的“身份識別”
    • 1.3 目標檢測:圖像的“區域識別”與“邊界框”
    • 1.4 語義分割/實例分割:圖像的“像素級理解”
    • 1.5 常用標注工具:LabelImg, CVAT, Label Studio
  • 第二章:視頻幀抽幀:從“動態流”中“捕捉瞬間”
    • 2.1 為什么需要抽幀?—— 視頻處理的“減負”與“焦點”
    • 2.2 使用OpenCV實現視頻均勻抽幀與保存
  • 第三章:字幕提取:從“聲音”中“聆聽語言”
    • 3.1 語音轉文本(ASR):AI的“聽力”與“記錄”
    • 3.2 字幕文件格式:SRT與VTT的秘密
    • 3.3 使用Whisper模型自動化提取視頻字幕
  • 第四章:數據“精加工”的質量控制與挑戰
    • 4.1 標注一致性與準確性:AI模型性能的“生命線”
    • 4.2 數據偏差與隱私:不可忽視的“副作用”
  • 多模態數據“精加工”流程與工具鏈
  • “數據增強”:讓AI的“食糧”更豐富多樣
  • 總結與展望:你已成為AI模型的“頂級廚師”

前言:從“原始食材”到“AI盛宴”

在上一章,我們像“數據獵手”一樣,學會了如何從網頁、視頻、文檔等多種來源,自動化地采集海量原始數據。

但這些原始數據,往往還不能直接被AI模型“消化”。

一張圖像,對于分類模型來說,需要知道它屬于“貓”還是“狗”。

一段視頻,為了分析其內容,可能需要抽取其中的關鍵畫面。

一段語音,為了被語言模型理解,需要被轉錄成文字。

這就像我們從自然界采集到的**“原始食材”:野果、生肉、未脫殼的谷物。要將它們變成一道道色香

味俱全的“AI盛宴”,還需要經過一系列的“精加工”**流程。
AI加工數據

今天,我們將學習如何將這些“粗加工”后的數據,轉化為AI能夠“消化”的精良**“食材”了!我們將聚焦于圖像標注、視頻幀抽幀、以及字幕提取**這些核心的數據預處理技巧。

第一章:圖像標注:為AI“指點江山”

介紹圖像標注的多種類型(分類、檢測、分割),以及它們在AI模型訓練中的作用,并推薦常用工具。

1.1 什么是圖像標注?—— AI的“視覺標簽”

**圖像標注(Image Annotation)**是指在圖像中添加各種形式的標簽或元數據,以描述圖像內容的

技術。這些標簽就是AI模型學習的“正確答案”或“監督信號”。

1.2 分類任務:圖像的“身份識別”

目的:告訴AI整張圖片屬于哪個類別。

標注形式:為每張圖片指定一個類別標簽(如“貓”、“狗”、“建筑”)。

應用:圖像內容識別、圖片庫分類。

1.3 目標檢測:圖像的“區域識別”與“邊界框”

目的:告訴AI圖像中有哪些物體,以及它們在圖片中的位置和大小。

標注形式:為圖片中的每個目標物體繪制邊界框(Bounding Box),并標注其類別。

應用:自動駕駛中的車輛行人識別、安防監控、工業缺陷檢測。

1.4 語義分割/實例分割:圖像的“像素級理解”

目的:讓AI理解圖像中每個像素屬于哪個物體或區域。

標注形式:為圖像中的每個像素點打上類別標簽(語義分割),或區分出同一類別的不同個體(實例分割)。
應用:圖像背景摳圖、醫療影像分析、無人車場景理解。

1.5 常用標注工具:LabelImg, CVAT, Label Studio

LabelImg:輕量級,主要用于目標檢測的邊界框標注。

CVAT (Computer Vision Annotation Tool):功能強大,支持分類、檢測、分割、姿態估計等多種任務,適合團隊協作。

Label Studio:通用的數據標注工具,不僅支持圖像,還支持文本、音頻、時間序列等多種數據類型。

第二章:視頻幀抽幀:從“動態流”中“捕捉瞬間”

講解視頻抽幀的必要性,以及均勻抽幀與關鍵幀提取兩種策略,并提供代碼實戰。
視頻幀抽幀

2.1 為什么需要抽幀?—— 視頻處理的“減負”與“焦點”

視頻是幀的序列,數據量巨大。直接處理原始視頻的每一幀會帶來巨大的計算負擔。
目的:

  1. 減少計算量:通過抽幀,只處理視頻中的部分關鍵幀,降低訓練/推理成本。
  2. 捕捉焦點:提取視頻中的關鍵時刻或代表性畫面。
    策略:

均勻抽幀(Uniform Sampling):按固定時間間隔或幀數間隔抽取幀。

關鍵幀提取(Keyframe Extraction):根據內容變化(如場景切換、劇烈運動)智能識別并抽取最具代表性的幀。

2.2 使用OpenCV實現視頻均勻抽幀與保存

目標:使用OpenCV庫,從視頻文件中按固定幀間隔抽取幀,并將抽取的幀保存為圖像文件。

前置:pip install opencv-python。需要一個本地視頻文件。

# video_frame_extractor.pyimport cv2 # 導入OpenCV庫
import os
import randomdef extract_frames_uniformly(video_path, output_folder, frame_interval=30):"""從視頻中均勻抽取幀并保存為圖片。video_path: 輸入視頻文件路徑。output_folder: 保存抽取幀的目錄。frame_interval: 每隔多少幀抽取一張圖片(例如30表示每秒抽取一幀,如果視頻是30fps)。"""print(f"--- 案例#001:使用OpenCV實現視頻均勻抽幀與保存 ---")print(f"正在處理視頻: {video_path}")os.makedirs(output_folder, exist_ok=True) # 確保輸出目錄存在# 嘗試打開視頻文件cap = cv2.VideoCapture(video_path)if not cap.isOpened():print(f"? 錯誤:無法打開視頻文件 '{video_path}'。請檢查路徑或文件是否損壞。")return 0frame_count = 0extracted_count = 0# 讀取視頻幀while True:ret, frame = cap.read() # ret是布爾值(是否成功讀取),frame是讀取到的幀if not ret: # 如果沒有成功讀取幀(視頻結束或出錯)break# 每隔 frame_interval 幀抽取一張圖片if frame_count % frame_interval == 0:frame_filename = os.path.join(output_folder, f"frame_{extracted_count:05d}.jpg")cv2.imwrite(frame_filename, frame) # 保存幀為JPG圖片extracted_count += 1if extracted_count % 10 == 0:print(f"  已抽取 {extracted_count} 幀...")frame_count += 1cap.release() # 釋放視頻文件print(f"\n? 視頻抽幀完成!總共抽取了 {extracted_count} 幀到 '{output_folder}'。")return extracted_count# --- 運行演示 ---
if __name__ == '__main__':# 準備一個本地視頻文件,例如 'test_video.mp4'# 如果沒有,可以使用之前下載的 yt-dlp 視頻test_video_path = "path/to/your/test_video.mp4" # <--- 請替換為你的實際視頻路徑output_frames_dir = "extracted_frames"# 創建一個 dummy test_video.mp4 (如果不存在,跳過實際操作)if not os.path.exists(test_video_path):print(f"? 錯誤:未找到視頻文件 '{test_video_path}'。請手動準備視頻文件用于測試。")print("跳過視頻抽幀演示。")else:extract_frames_uniformly(test_video_path, output_frames_dir, frame_interval=30)print("-" * 50)

【代碼解讀】

這段代碼演示了使用OpenCV進行視頻抽幀。

cv2.VideoCapture(video_path):打開視頻文件。

cap.read():逐幀讀取視頻。

frame_count % frame_interval == 0:判斷是否達到抽幀間隔。

cv2.imwrite(filename, frame):將抽取的幀保存為圖像文件。

第三章:字幕提取:從“聲音”中“聆聽語言”

AI聲音

介紹語音轉文本(ASR)技術在字幕提取中的應用,并提供使用Whisper模型自動化提取字幕的案例。

3.1 語音轉文本(ASR):AI的“聽力”與“記錄”

ASR (Automatic Speech Recognition,自動語音識別) 是一種將人類語音信號轉換為文本的技術。它是實現自動化字幕提取的核心。

原理:ASR模型通常接收音頻波形,通過聲學模型識別語音,然后通過語言模型將其轉換為文字。

應用:智能語音助手、電話客服自動化、會議記錄轉錄、字幕生成。

3.2 字幕文件格式:SRT與VTT的秘密

SRT (SubRip Subtitle):最常見的字幕格式,純文本文件,包含字幕序號、時間戳和字幕文本。

1
00:00:01,000 --> 00:00:03,500
Hello, this is a test.

VTT (WebVTT):HTML5標準的字幕格式,基于SRT,支持更豐富的樣式和定位。
作用:這些格式允許視頻播放器在特定時間點顯示對應的字幕,是多模態(視頻+文本)數據的重要形式。

3.3 使用Whisper模型自動化提取視頻字幕

目標:使用OpenAI的Whisper模型(一個強大的ASR模型),對視頻文件進行語音識別,并生成SRT格式的字幕文件。
前置:pip install openai-whisper。Whisper需要一些依賴,如ffmpeg(用于處理音頻)。確保你的系統安裝了ffmpeg。

# video_subtitle_extractor.pyimport whisper # 導入Whisper庫
import os
import subprocess # 用于調用ffmpeg命令行工具def extract_subtitles_with_whisper(video_path, output_srt_path):"""使用Whisper模型從視頻文件中自動化提取SRT字幕。video_path: 輸入視頻文件路徑。output_srt_path: 保存生成的SRT字幕文件路徑。"""print(f"--- 案例#002:使用Whisper模型自動化提取視頻字幕 ---")print(f"正在處理視頻: {video_path}")if not os.path.exists(video_path):print(f"? 錯誤:未找到視頻文件 '{video_path}'。")return False# 1. 加載Whisper模型 (第一次運行會下載模型權重)# "base", "small", "medium", "large" - 不同大小的模型,精度和速度不同print("\n1. 正在加載Whisper模型 (model='base')...")model = whisper.load_model("base") # 加載小型模型,方便演示# 2. 調用Whisper模型進行語音識別并生成字幕# result = model.transcribe(video_path, word_timestamps=True) # word_timestamps可以獲取每個詞的時間戳print("\n2. 開始進行語音識別和字幕生成 (這可能需要一些時間)...")try:# Whisper會自動處理視頻中的音頻提取result = model.transcribe(video_path, verbose=False, fp16=torch.cuda.is_available()) # fp16加速# 3. 將結果格式化為SRTsegments = result["segments"]with open(output_srt_path, "w", encoding="utf-8") as f:for i, segment in enumerate(segments):start_time = str(segment["start"]).split(".")[0] # 秒數end_time = str(segment["end"]).split(".")[0] # 秒數# 格式化時間為 00:00:00,000 形式start_hms = str(0) + str(int(start_time) // 3600).zfill(2) + ":" + str((int(start_time) % 3600) // 60).zfill(2) + ":" + str(int(start_time) % 60).zfill(2) + ",000"end_hms = str(0) + str(int(end_time) // 3600).zfill(2) + ":" + str((int(end_time) % 3600) // 60).zfill(2) + ":" + str(int(end_time) % 60).zfill(2) + ",000"f.write(f"{i + 1}\n")f.write(f"{start_hms} --> {end_hms}\n")f.write(f"{segment['text'].strip()}\n\n")print(f"\n? 字幕提取成功!SRT文件已保存到: {output_srt_path}")return Trueexcept Exception as e:print(f"? 字幕提取失敗: {e}")print("請檢查FFmpeg是否已安裝并添加到PATH。Whisper依賴FFmpeg提取音頻。")return False# --- 運行演示 ---
if __name__ == '__main__':# 請準備一個 test_video.mp4 文件test_video_path = "path/to/your/test_video.mp4" # <--- 請替換為你的實際視頻路徑output_srt_file = "test_video_subtitle.srt"# 檢查ffmpeg是否安裝try:subprocess.run(['ffmpeg', '-version'], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)print("FFmpeg已安裝。")except (subprocess.CalledProcessError, FileNotFoundError):print("? FFmpeg未安裝或未添加到PATH。請安裝FFmpeg以運行此示例。")print("安裝方法:Windows用戶可從ffmpeg.org下載并配置環境變量;Linux用戶可使用apt/yum安裝。")exit()if not os.path.exists(test_video_path):print(f"? 錯誤:未找到視頻文件 '{test_video_path}'。請手動準備視頻文件用于測試。")print("跳過字幕提取演示。")else:extract_subtitles_with_whisper(test_video_path, output_srt_file)print("-" * 50)

【代碼解讀】

這個腳本演示了使用Whisper模型自動化提取視頻字幕。

whisper.load_model(“base”):加載Whisper模型。"base"是一個小模型,方便快速測試。更大模型如"large"精度更高。

model.transcribe(video_path):Whisper的核心方法,它會自動從視頻中提取音頻,進行語音識別,并返回包含文本和時間戳的result字典。

SRT格式化:代碼遍歷result[“segments”],將識別出的文本段和時間戳格式化為SRT文件所需的格式。

FFmpeg依賴:Whisper在后臺需要ffmpeg來處理視頻和音頻。腳本中增加了檢查ffmpeg是否安裝的邏輯。

第四章:數據“精加工”的質量控制與挑戰

探討在數據“精加工”階段,確保數據質量和應對挑戰的關鍵策略。

4.1 標注一致性與準確性:AI模型性能的“生命線”

準確性:標注的標簽必須準確無誤。錯誤的標簽會誤導模型學習。

一致性:多名標注員進行標注時,必須遵循統一的規范。否則,模型會學習到沖突的“真理”。

質量控制:引入交叉驗證、專家復審、自動化校驗等機制,確保標注質量。

4.2 數據偏差與隱私:不可忽視的“副作用”

數據偏差(Bias):如果訓練數據存在偏差(例如,圖片中只包含白人面孔,或語音數據只包含男性聲音),模型就會學到這種偏差,并在實際應用中產生歧視性或不公平的結果。
隱私泄露:尤其是在處理人臉、個人信息、醫療數據時,數據標注和使用必須嚴格遵守隱私法規。

多模態數據“精加工”流程與工具鏈

多模態數據

“數據增強”:讓AI的“食糧”更豐富多樣

介紹一種不依賴額外數據采集,就能增加數據量和多樣性的技術。
數據增強(Data Augmentation)是一種在不額外收集數據的情況下,通過對現有數據進行變換(如旋轉、裁剪、翻轉、顏色調整、添加噪聲等),來生成新的訓練樣本的技術。
目的:
增加數據量:緩解數據不足問題。
提高泛化能力:讓模型學習到對數據變化的魯棒性,減少過擬合。
應用:在圖像領域,通過隨機裁剪、翻轉等生成新圖像;在文本領域,通過同義詞替換、隨機插入/刪除詞等生成新文本。
數據增強是AI模型訓練中一個簡單而極其有效的“免費午餐”

總結與展望:你已成為AI模型的“頂級廚師”

恭喜你!今天你已經深入理解了多模態數據“精加工”的核心技巧,掌握了如何為AI模型準備“美味佳肴”。
? 本章驚喜概括 ?

你掌握了什么?對應的核心概念/技術
圖像標注類型? 分類、目標檢測、語義/實例分割
視頻抽幀策略? 均勻抽幀與關鍵幀提取,OpenCV實戰
字幕提取技術? 語音轉文本ASR,SRT/VTT格式,Whisper實戰
數據質量控制? 準確性、一致性、偏差與隱私的挑戰
代碼實戰? 親手實現視頻抽幀與視頻字幕提取
數據增強? 增加數據多樣性與泛化能力

你現在不僅能采集原始數據,更能親手操作并洞悉其從“粗加工”到“精良食材”的整個轉化流程。你手中掌握的,是AI模型訓練前最重要的**“頂級廚師”秘籍**!

🔮 敬請期待! 在下一章中,我們將繼續深入**《訓練鏈路與采集系統》,探索如何將這些精良的“食材”進一步組織和優化——《Prompt構造策略(自動化+手工混合)》**,為你揭示高效訓練數據的“魔法配方”!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918684.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918684.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918684.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2025 開源語音合成模型全景解析:從工業級性能到創新架構的技術圖譜

一、引言&#xff1a;開源浪潮下的語音合成技術躍遷 語音合成&#xff08;TTS&#xff09;作為人工智能領域的核心技術&#xff0c;近年來在開源社區的推動下取得了突破性進展。從早期的基于規則的拼接合成&#xff0c;到深度學習驅動的端到端模型&#xff0c;再到當前與大語言…

前端懶加載技術全面解析

懶加載(Lazy Loading)是一種優化前端性能的重要技術,核心思想是延遲加載非關鍵資源,只在需要時加載它們。 一、懶加載的基本原理 懶加載的核心思想是通過以下方式優化性能: 減少初始加載實踐: 只加載首屏所需資源 節省帶寬和內存: 避免加載用戶可能不會查看的內容 提高…

B3DM,OSGB,PLY,OBJ,S3MB,I3S這幾種格式有什么區別

B3DM、OSGB、PLY、OBJ、S3MB、I3S 都是三維模型/地理空間數據的文件格式&#xff0c;但它們的用途、結構和適用場景差別很大。1. B3DM&#xff08;Batched 3D Model&#xff09;來源/用途&#xff1a;屬于 Cesium 3D Tiles 規范&#xff0c;用于在 Cesium、Mapbox 這種 WebGIS …

Matlab(4)

一、Basic plotting1.plot&#xff08;&#xff09;plot(x,y) &#xff1a;x圖片中點的橫坐標&#xff0c;y圖片中點的縱坐標plot(y) &#xff1a;y圖片中點的縱坐標&#xff0c;x圖片中點的橫坐標默認為1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5........plot(co…

Pycharm選好的env有包,但是IDE環境顯示無包

一、異常現象 Pycharm選好的env&#xff08;yolov7&#xff09;&#xff1a; 有Numpy這個包&#xff1a; IDE環境愣是報沒有&#xff1a; 二、嘗試解決 2.1 重新啟動pycharm 重新打開.py文件&#xff1a; 還是不行&#xff1a; 看看好使的windows上的pycharm參數&#xff1a…

深入理解 Linux 下的 GDB 調試工具

引言 在軟件開發中&#xff0c;調試是一個不可避免且至關重要的環節。無論是簡單的邏輯錯誤&#xff0c;還是復雜的內存泄漏問題&#xff0c;調試工具都能幫助我們快速定位并修復問題。而在 Linux 系統中&#xff0c;GDB&#xff08;GNU 調試器&#xff09;是最強大、最常用的…

讓齒輪與斑馬線共舞:汽車文化驛站及安全教育基地的展陳實踐

當汽車文化驛站及安全教育基地的展陳項目圖紙在繪圖儀上初現輪廓時&#xff0c;我們就明確了一個核心命題&#xff1a;如何讓 “速度與激情” 的汽車文化&#xff0c;與 “規則與敬畏” 的安全教育在同一空間里和諧共生&#xff0c;而非簡單拼接。這不是兩個獨立展區的物理疊加…

Flask + Vue.js 物聯網數字大屏實現方案

我將為您創建一個精美的物聯網數字大屏,使用Flask作為后端提供數據,Vue.js作為前端展示,全部集成在單個HTML文件中實現。 設計思路 整體布局: 深色主題背景提高數據可視性 頂部標題欄顯示系統名稱和時間 中央區域分為多個數據卡片 底部顯示系統狀態信息 核心功能: 實…

Excel怎么篩選重復項?【圖文詳解】查找/刪除重復項?查找重復項公式?如何去重?

一、問題背景 在使用 Excel 整理數據時&#xff0c;我們經常會遇到重復內容。這些重復項不僅會讓表格顯得雜亂&#xff0c;還可能影響數據統計的準確性。比如學生成績表中重復的分數、員工信息表中重復的姓名等&#xff0c;都需要及時篩選出來處理。其實&#xff0c;篩選重復項…

模板打印技術——自動識別office類型 打印模板:為政務土地確權定制的替換利器—仙盟創夢IDE

代碼for (int i 0; i < tmpcount; i){string tmptable dt.Rows[i]["tmpname"].ToString().Trim();string doctype dt.Rows[i]["doctype"].ToString().Trim();if (doctype "doc"){doc_pagecount cyberwin_replacr_tmpes_files(dgvr, tmpt…

MongoDB分析insert源代碼

mongo插入單條文檔insert()> db.user.insert({ ... "name": "alice", ... "age": 28 ... }); WriteResult({ "nInserted" : 1 }) >MongoDB插入文檔代碼調用鏈如下&#xff1a;mongo/db/commands/write_commands/write_c…

react路由跳轉與路由懶加載等(對照vue來說一說不同之處)

前言&#xff1a;react路由跳轉與路由懶加載等路由懶加載&#xff1a;使用 loadable/component 插件來實現安裝&#xff1a;npm i loadable/component具體使用&#xff1a;1、引入loadable/component2、正常封裝的地方const HomeLoadable(()>import(./views/Home.jsx));也可…

Nginx 架構和安裝

二、.Nginx 架構和安裝 2.1 Nginx 概述 2.1.1 Nginx 介紹 Nginx&#xff1a;engine X &#xff0c;2002年開發&#xff0c;分為社區版和商業版(nginx plus ) 2019年3月11日 F5 Networks 6.7億美元的價格收購 Nginx是免費的、開源的、高性能的HTTP和反向代理服務器、郵件代理服務…

HarmonyOS NDK的JavaScript/TypeScript與C++交互機制

HarmonyOS NDK的JavaScript/TypeScript與C交互機制 細解釋這個調用流程&#xff1a; 整體架構流程 ArkTS/JavaScript ←→ .d.ts (類型定義) ←→ NAPI ←→ .cpp (C實現)文件結構和作用 項目結構示例&#xff1a; MyHarmonyApp/ ├── entry/src/main/ets/ # ArkTS應…

[激光原理與應用-226]:機械 - 如何學習3D圖設計

學習機械領域的3D圖設計需要系統掌握軟件操作、設計思維、工程規范和實戰經驗。以下是分階段的學習路徑和實用建議&#xff0c;幫助你高效入門并提升技能&#xff1a;一、基礎準備階段1. 明確學習目標方向選擇&#xff1a;根據興趣確定細分領域&#xff08;如機械零件設計、鈑金…

uniapp -- 小程序處理與設備通訊 GBK/GB2312 編碼問題。

?? 小程序/UniApp 中處理 GBK 編碼:iconv-lite + Buffer 實用指南 適用場景:設備通信、藍牙傳輸、舊系統對接、十六進制轉中文等涉及 GB2312/GBK 編碼 的中文亂碼問題。 ?? 一、為什么需要這個工具? 在小程序或 UniApp 開發中,常遇到以下問題: 藍牙設備返回的中文是 …

8.13 JavaWeb(MySQL P89-P103)

DML&#xff08;數據操作語言&#xff09;Data Manipulation Language&#xff0c;用來對數據庫表中的數據記錄進行增、刪、改操作添加數據-- DML &#xff1a; 數據操作語言 -- DML &#xff1a; 插入數據 - insert -- 1.為tb_emp表的username&#xff0c;name&#xff0c;gen…

Python 類元編程(元類基礎知識)

元類基礎知識 元類是制造類的工廠&#xff0c;不過不是函數&#xff08;如示例 21-2 中的 record_factory&#xff09;&#xff0c;而是類。圖 21-1 使用機器和小怪獸圖示法描述元 類&#xff0c;可以看出&#xff0c;元類是生產機器的機器。根據 Python 對象模型&#xff0c;類…

【Vue 3 響應式系統深度解析:reactive vs ref 全面對比】

Vue 3 響應式系統深度解析&#xff1a;reactive vs ref 全面對比 目錄 概述響應式系統基礎reactive 深度分析ref 深度分析底層實現原理依賴收集機制演進解構和轉換工具常見誤區和陷阱技術選型指南最佳實踐和建議 概述 Vue 3 引入了基于 Proxy 的全新響應式系統&#xff0c;…

JavaSE高級-01

文章目錄1. 異常異常的分類自定義異常異常的處理資源關閉&#xff1a;try-with-resource2. 泛型泛型類泛型接口泛型方法、通配符、上下限通配符泛型的上下限泛型支持的類型3. 包裝類4. Collection集合和Map集合4.1 Collection集合Collection集合特點Collection的遍歷方式一&…