語音識別概述

語音識別概述

一.什么是語音?

語音是語言的聲學表現形式,是人類自然的交流工具。

在這里插入圖片描述
圖片來源:https://www.shenlanxueyuan.com/course/381


二.語音識別的定義

語音識別(Automatic Speech Recognition, ASR 或 Speech to Text, STT)是將語音轉換為文本的任務。其主要目標是解決機器“聽清”問題,處理聲學和(部分)語言上的混淆,確保每個人的語音都能被正確識別為文本。

1.主要解決的問題:
  1. 將語音轉換成文本。
  2. 解決機器“聽清”問題。
  3. 處理聲學和部分語言上的混淆。
  4. 確保不同人的語音都能被正確識別。
2.不解決的問題:
  1. 說話人識別。
  2. 副語言信息的分析與識別(如發音、質量、韻律、情感)。
  3. 語言理解。
3.評估標準:
  1. Accuracy(準確率):

    • 音素錯誤率(Phone Error Rate, PER)
    • 詞錯誤率(Word Error Rate, WER)
    • 字錯誤率(Character Error Rate, CER)
    • 句錯誤率(Sentence Error Rate, SER)
  2. Efficiency(效率):

    • 實時率(Real-time Factor, RTF)
4.錯誤率計算實例:
Ref:  THE CAT IN       THE        HAT
Hyp:      CAT IS   ON  THE  GREEN HATDEL     SUB  INS       INS

在這個例子中:

  • 第一行為正確的抄本(Ref)。
  • 第二行為識別結果(Hyp)。
  • 錯誤類型:第一列為刪除錯誤(DEL),第三列為替換錯誤(SUB),第四列和第六列為插入錯誤(INS)。

錯誤率計算公式:Error rate=100×(1S+1D+2I)/5=80

計算過程中關注三種錯誤:插入錯誤、替換錯誤和刪除錯誤。實際計算時,錯誤率有可能超過100%。

5.語音識別系統分類:
  1. 說話人:特定人、非特定人
  2. 語種:單一語種、多語種
  3. 詞匯量:大詞匯量、中詞匯量、小詞匯量
  4. 設備:云端、端側
  5. 距離:近距離、遠距離

三.語音識別的重要性

語音識別(ASR,Automatic Speech Recognition)是一項極具挑戰性的技術,被譽為“鑲嵌在人工智能皇冠上的明珠”。它在現代技術和應用中占有重要地位,主要體現在以下幾個方面:

1. 快速、便捷、無接觸的優點
  • 快速:語音輸入的速度通常比鍵盤輸入更快,使信息傳遞更加高效。
  • 便捷:用戶只需說話,無需學習復雜的輸入方法,使用門檻低。
  • 無接觸(Hands-Free):特別適用于開車、做家務等需要雙手操作的場景,提升了用戶的便利性和安全性。
2. 音頻內容分析與理解的基礎
  • 文字轉寫:語音識別是將音頻內容轉化為文本的第一步,這一過程是進一步分析與理解音頻內容的基礎。
  • 文本分析:轉寫后的文本可以進行情感分析、主題識別等處理。
  • 數據存檔:轉寫文本便于存儲和檢索,提升了數據的可用性。
3. AIoT和智能服務的入口
  • AIoT(人工智能物聯網):語音識別是AIoT設備的主要交互方式,用戶可以通過語音控制智能家居、可穿戴設備等。

    • 智能家居:語音助手控制燈光、溫度、家電等。
    • 可穿戴設備:語音識別用于健康監測、運動記錄等。
  • 智能服務:語音識別在智能客服、自動翻譯等領域有廣泛應用。

    • 智能客服:自動應答用戶問題,提高客服效率。
    • 自動翻譯:實時翻譯語音內容,打破語言障礙。
4. 滿足自然人機交互和內容理解與生成的需求
  • 自然人機交互:語音識別使人機交互更加自然,用戶可以通過語音指令與設備進行交流,提升用戶體驗。

    • 虛擬助手:如Siri、Alexa、Google Assistant等通過語音識別實現自然對話。
    • 導航系統:通過語音輸入目的地,提高駕駛安全性。
  • 內容理解與生成:語音識別技術與自然語言處理(NLP)結合,實現內容的理解與生成。

    • 語音搜索:用戶通過語音進行信息搜索,快速獲取答案。
    • 語音生成:將文本轉化為自然語音,實現雙向交流。
5. 技術與應用的廣泛性
  • 醫療領域:醫生通過語音輸入病歷,提高工作效率,減少誤診。
  • 教育領域:語音識別用于語言學習、課堂記錄等,提高學習效果。
  • 安防領域:通過語音識別進行身份驗證和監控,提高安全性。

四.語音交互

在這里插入圖片描述
圖片來源:http://techchannel.att.com/play-video.cfm/2011/8/10/AT&T-Archives-The-Speech-Chain


五.語音生成

語音生成(Speech Production)是指通過大腦指揮神經系統發出肌肉命令,進而控制發音器官運動,最終產生聲音的過程。

1.語音生成過程
  • 大腦指揮:大腦發出神經信號,控制肌肉運動。

  • 神經肌肉命令:神經系統將命令傳遞到發音器官。

  • 發音器官運動:發音器官(如聲帶、口腔、鼻腔等)根據神經信號進行運動,產生聲音。

2.發音的基本原理
  • 聲門運動:聲門的快速打開與關閉產生不同的聲音。
  • 基本頻率:聲門震動的快慢決定聲音的基本頻率。
  • 口腔、鼻腔、舌頭的位置及嘴型:這些因素共同決定聲音的內容。
  • 肺部空氣壓力:肺部壓縮空氣的力量決定音量。
2.聲音類型
  • 濁音(Voiced Sounds):由聲帶震動引起,波形具有明顯的周期性,人們可以感受到穩定的高音。

  • 清音(Unvoiced Sounds):聲帶不震動,波形類似白噪聲,人們無法感受到穩定的高音。

3.語音單元
  1. 音素(Phonemes):

    • 音素是語言中語音的最小單元,分為輔音(consonants)和元音(vowels)。
    • 音素的數量因語言而異。
    • 同位異音(Allophone):音素的聲學實現受到上下文影響,一個音素可能有不同的實現。
  2. 詞素(Morpheme):語言中最小的具有語義的結構單元。

  3. 音節(Syllable):

    • 由元音和輔音結合構成。
    • 音節頭(聲母):元音之前的輔音。
    • 韻母:音節頭后的元音及隨后的輔音。
      • 音節核:韻母中的元音。
      • 音節尾:隨后的輔音。
    • 在中文中,一個漢字的讀音為一個帶調音節(如普通話約1300多個帶調音節,去掉聲調后約400個基礎音節)。
4.聲學特征
  1. 共振峰(Formants):

    • 在聲音的頻譜中,能量相對集中的區域。
    • 共振峰決定音質,反映聲道的物理特征,不同元音會產生不同種類的共振。
  2. 協同發音(Coarticulation):

    • 發音過程中,每個音素會受到前后音素的影響。
    • 協同發音使得音素的聲學實現與上下文強相關,因此語音識別中常建立上下文相關模型。
5.音素抄本

音素抄本(Phonetic Transcription)是一段語音對應的音素列表,可以帶或不帶邊界。音素抄本提供時間信息,可以通過人工標注或自動對齊獲得。它在語音識別的聲學建模中非常重要。


六.語音感知

語音感知(Speech Perception)是指人耳將外界聲音信號傳遞到大腦,并由大腦進行處理和理解的過程。該過程包括外耳、中耳和內耳的協同工作,以及聲音的物理特性與人耳聽覺特性之間的關系。

1.人耳結構
  1. 外耳

    • 功能:聲源定位,對聲音進行放大。
    • 組成:耳廓和外耳道。
  2. 中耳

    • 功能:進行聲阻抗變換,放大聲壓,保護內耳。
    • 組成:鼓膜和聽小骨(錘骨、砧骨、鐙骨)。
  3. 內耳

    • 功能:將聲壓刺激轉化為神經沖動,發送到大腦。
    • 組成:耳蝸和聽神經。
2.物理特性與聽覺特性

語音感知涉及聲音的物理量和感知量之間的關系。下表總結了這些關系:

物理量 (Physical Quantity)感知量 (Perceptual Quantity)
聲強 (Intensity)響度 (Loudness)
基頻 (Fundamental Frequency)音高或音調 (Pitch)
頻譜形狀 (Spectral Shape)音色或音品 (Timbre)
起始/結束時間 (Onset/offset time)時間感知 (Timing)
雙耳聽覺的相位差 (Phase difference in binaural hearing)定位 (Location)
3.聲音三要素
  1. 響度(Loudness):

    • 響度是人主觀感受到的聲音強度,與聲音的頻率成分有關。
    • 聞閾:人耳剛好能聽見的最小響度。
    • 痛閾:聲音使人耳感到疼痛時的響度。

在這里插入圖片描述

圖片來源:https://www.shenlanxueyuan.com/course/381

  1. 音高或音調(Pitch):

    • 音調是人耳對聲音頻率的感知,是非線性的,近似對數函數。

    • 音調和頻率的近似關系:𝑇𝑚𝑒𝑙=2595log10?(1+𝑓7000)。

      𝑓為物理頻率,𝑇𝑚𝑒𝑙為音調,單位是美(Mel)

  2. 音色或音品(Timbre):

    • 音色由聲音波形的諧波頻譜和包絡決定。
    • 基音:聲音波形的基頻產生的最清楚的音。
    • 泛音:各次諧波的微小震動產生的音。
    • 純音:單一頻率的音。
    • 復音:具有諧波的音。
    • 不同聲源的音色特征由聲音波形各次諧波的比例和隨時間的衰減大小決定。
4.掩蔽效應

掩蔽效應(Masking)是指一個較強聲音掩蔽附近較弱聲音,使其不易被察覺的現象。分為兩種情況:

  • 同時掩蔽(Simultaneous Masking):一個強純音會掩蔽其附近頻率同時發生的弱純音。

  • 異時掩蔽(Temporal Masking):在時間上相鄰的聲音之間的掩蔽現象。

掩蔽閾值是時間、頻率和聲壓級的函數。


七.語音識別的挑戰性

語音識別(Automatic Speech Recognition, ASR)是一個非常具有挑戰性的任務,其在眾多方面表現出強大的可變性。以下是影響語音識別性能的主要因素及其可變性:

1.主要影響因素及其可變性
因素可變性描述
規模詞表大小、復雜度/困惑度、書面化或口語化
說話人是否特定說話人、適應特定說話人的特性
聲學環境噪聲、干擾人聲、信道條件(麥克風、傳輸空間、空間聲學)
講話風格連續或孤立詞、有計劃或即興對話、大聲或輕聲細語
口音/方言是否能識別各種口音
語種中文、英文、超過5000種語言、語言混雜
信道特性不同麥克風、不同采樣率、傳輸編碼等
環境影響距離衰減、噪聲、混響、干擾人聲
2.語音識別中的變異性
  • 說話人之間的變異性:不同說話人的口音、語速、發音方式、語調等各不相同。適應多種說話人的特性是語音識別的一個重要挑戰。

  • 說話人之內的變異性:同一個人在不同時間、不同情緒狀態、不同健康狀態下,語音特性也會有所不同。不同講話方式(如大聲、輕聲、低語)對語音識別系統的要求也各不相同。

  • 信道變異性:不同麥克風的性能、采樣率和傳輸編碼會影響語音信號的質量。在不同傳輸條件下,信號可能會受到干擾或衰減。

  • 環境變異性:環境噪聲、回聲、混響以及干擾人聲等都會影響語音信號的清晰度。距離衰減效應,尤其在遠講場景下,語音信號會顯著衰減。

3.特殊場景挑戰

CHiME-5場景: 多說話人完全自由對話。現實生活中的家居聲學場景。遠講情況下的語音識別。說話人移動及語音交疊。


八.語音識別的發展歷史

1.早期階段(1950-1960年代)

在語音識別研究的初期,研究人員主要集中于提出一些基礎的方法和引入關鍵的思想與概念。由于受限于方法、計算能力和數據量,這一階段的研究主要針對小詞表的語音識別,且缺乏大規模測試。主要特點包括:

  • 初步探索:提出個別方法和概念。
  • 小詞表研究:主要集中在小范圍詞匯的語音識別。
  • 技術限制:計算能力和數據量的限制使得研究進展緩慢。
2.現代語音識別的誕生(1970-1980年代)

這個階段標志著語音識別從基礎研究進入了統計學習時代,幾乎忽略了語音學和語言學的專家知識,轉而使用數據驅動的方法。關鍵技術和方法在此期間得以發展,包括:

  • 統計學習方法:將語音識別視為統計學習任務。
  • 關鍵技術:引入了EM算法、N-gram等。
  • 中大詞表嘗試:開始嘗試中大詞表的語音識別系統。
3.平穩發展期(1990-2000年代)

在這一階段,GMM-HMM(高斯混合模型-隱馬爾科夫模型)框架成為主導,語音識別系統得以進一步發展。主要進展包括:

  • GMM-HMM框架:成為語音識別的主流框架。
  • 上下文相關建模:聲學建模開始考慮基于上下文相關的模型。
  • n-gram語言模型:使用大量文本統計概率關系。
  • 數據和任務復雜度增加:數據量和任務復雜度逐步增加。
  • 判別式學習:引入區分性訓練技術推動進步。

盡管技術不斷進步,但語音識別的準確率在這一時期鮮有顯著提升。

3.深度學習時代(2006年至今)

2006年是語音識別歷史上的一個重要轉折點,標志著深度學習技術的引入和廣泛應用。在此之后,語音識別的準確率顯著提升,主要特點包括:

  • 深度神經網絡(DNNs):深度學習模型的應用大幅提升了語音識別的性能。
  • 大規模數據和計算能力:利用更大的數據集和更強的計算能力進行訓練。
  • 持續改進:技術不斷進步,推動語音識別系統向更高的準確率和更廣泛的應用場景發展。

九.現代語音識別框架

現代語音識別框架主要分為兩類:統計模型和端到端系統。

1.統計模型

統計模型的核心思想是通過計算最有可能的單詞序列來進行語音識別。假設有一個聲學特征向量(觀測向量)的序列 X,表示一個單詞序列 W,那么最有可能的單詞序列可以通過以下公式計算得出:
W ^ = arg ? max ? W P ( W ∣ X ) \hat{W} = \arg\max_W P(W|X) W^=argWmax?P(WX)
應用貝葉斯定理,這一公式可以進一步推導為:
P ( W ∣ X ) = p ( X ∣ W ) P ( W ) p ( X ) ∝ p ( X ∣ W ) P ( W ) P(W|X) = \frac{p(X|W)P(W)}{p(X)} \propto p(X|W)P(W) P(WX)=p(X)p(XW)P(W)?p(XW)P(W)
其中:

  • p(X∣W) 是 聲學模型,用于計算給定單詞序列 W 下的聲學特征向量 X的概率。
  • P(W) 是 語言模型,用于計算單詞序列 W的先驗概率。

通過組合聲學模型和語言模型,統計模型可以通過給定的聲學特征向量 X獲取最有可能的詞序列。

現代的統計模型通常使用三大組件:

  • 聲學模型:用于計算聲學特征向量的概率分布。

  • 語言模型:用于計算單詞序列的先驗概率。

  • 發音詞典:提供單詞與其發音之間的映射。
    在這里插入圖片描述

    圖片來源:https://www.shenlanxueyuan.com/course/381

2.端到端系統

端到端系統使用一個神經網絡直接將輸入的聲學特征向量 X映射為詞序列。這種方法簡化了傳統統計模型的復雜架構,避免了多個組件的獨立優化和組合,具有以下特點:

  • 直接映射:通過神經網絡直接將聲學特征向量轉換為單詞序列。
  • 簡化架構:省去聲學模型、語言模型和發音詞典的獨立建模和組合。
  • 統一訓練:在一個訓練過程中同時優化聲學和語言模型的參數。

在這里插入圖片描述
圖片來源:https://www.shenlanxueyuan.com/course/381


十.語料庫與工具包

1.英文數據
  1. TIMIT:用于音素識別,由 LDC 管理版權。
  2. WSJ:新聞播報語料庫,由 LDC 管理版權。
  3. Switchboard:電話對話語料庫,由 LDC 管理版權。
  4. Librispeech:有聲讀物語料庫,包含 1000 小時的開源數據。 Librispeech
  5. AMI:會議語料庫,開源數據。 AMI
  6. TED-LIUM:TED 演講語料庫,開源數據。 TED-LIUM
  7. CHiME-4:平板遠講語料庫,需要申請。
  8. CHiME-5/6:聚會聊天語料庫,需要申請。
2.中文數據
  1. THCHS-30:30 小時的開源語料庫。 THCHS-30
  2. HKUST:150 小時的電話對話語料庫,由 LDC 管理版權。
  3. AIShell-1:178 小時的開源語料庫。 AIShell-1
  4. AIShell-2:1000 小時的開源語料庫,需申請。 AIShell-2
  5. aidatatang_200zh:200 小時的開源語料庫。 aidatatang_200zh
  6. MAGICDATA:755 小時的開源語料庫。 MAGICDATA
3.工具包
  1. HTK:一款語音識別工具包。 HTK
  2. Kaldi:目前使用最廣泛的語音識別工具包,支持 C++ 和 Python。 Kaldi
  3. ESPNet:基于 Pytorch 的端到端語音識別工具包。 ESPNet
  4. Lingvo:基于 Tensorflow 的語音識別工具包。 Lingvo

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

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

相關文章

基于RAG大模型的變電站智慧運維-第十屆Nvidia Sky Hackathon參賽作品

第十屆Nvidia Sky Hackathon參賽作品 1. 項目說明 變電站是用于變電的設施,主要的作用是將電壓轉化,使電能在輸電線路中能夠長距離傳輸。在電力系統中,變電站起到了極為重要的作用,它可以完成電能的負荷分配、電壓的穩定、容錯保…

電影購票小程序論文(設計)開題報告

一、課題的背景和意義 隨著互聯網技術的不斷發展,人們對于購票的需求也越來越高。傳統的購票方式存在著排隊時間長、購票流程繁瑣等問題,而網上購票則能夠有效地解決這些問題。電影購票小程序是網上購票的一種新型應用,它能夠讓用戶隨時隨地…

06.截斷文本 選擇任何鏈接 :root 和 html 有什么區別

截斷文本 對超過一行的文本進行截斷,在末尾添加省略號(…)。 使用 overflow: hidden 防止文本超出其尺寸。使用 white-space: nowrap 防止文本超過一行高度。使用 text-overflow: ellipsis 使得如果文本超出其尺寸,將以省略號結尾。為元素指定固定的 width,以確定何時顯示省略號…

Selenium WebDriver中的顯式等待與隱式等待:深入理解與應用

在自動化測試中,尤其是在使用Selenium WebDriver進行Web應用的自動化測試時,等待元素加載完成是一個常見的需求。Selenium提供了兩種等待機制來處理這一問題:顯式等待(Explicit Wait)和隱式等待(Implicit W…

筆記 4 :linux 0.11 中繼續分析 0 號進程創建一號進程的 fork () 函數

(27)本條目開始, 開始分析 copy_process () 函數,其又會調用別的函數,故先分析別的函數。 get_free_page () ; 先 介紹匯編指令 scasb : 以及 指令 sstosd :…

什么是架構設計師?定義、職責和任務,全方位解析需要具備的專業素質

目錄 1. 架構設計師的定義 2. 架構設計師的職責和任務 2.1 系統架構設計 2.1.1 模塊劃分 2.1.2 接口設計 2.1.3 通信方式 2.2 技術選型與決策 2.2.1 技術評估 2.2.2 技術選型 2.2.3 技術決策 2.3 性能優化與調優 2.3.1 性能分析 2.3.2 性能優化 2.3.3 性能調優 …

基于BitMap的工作日間隔計算

背景問題 在我們實際開發過程中,時常會遇到日期的間隔計算,即計算多少工作日之后的日期,在不考慮法定節假日的情況下也不是那么復雜,畢竟周六、周日是相對固定的,Java語言也提供了豐富的類來處理此問題。 然而&#x…

MVVM和MVC的原理以及它們的區別

MVVM(Model-View-ViewModel)和 MVC(Model-View-Controller)是兩種常見的前端架構模式,它們都旨在幫助組織和管理復雜的前端應用程序邏輯和視圖層。 MVC(Model-View-Controller) 原理&#xff1…

視圖庫對接系列(GA-T 1400)十七、視圖庫對接系列(本級)采集設備獲取

背景 這一章的話,我們寫寫如何獲取采集設備獲取,之前其實也有說過類似的 就我們訂閱的時候如果subscribeDetail=3的話,下級就會主動給我們推送采集設備。但這里的話,是下級主動推,如果下級平臺不支持,或者說可能因為某個原因推的不全,怎么辦? 我們能否主動獲取采集設備…

WPF學習(4) -- 數據模板

一、DataTemplate 在WPF(Windows Presentation Foundation)中,DataTemplate 用于定義數據的可視化呈現方式。它允許你自定義如何展示數據對象,從而實現更靈活和豐富的用戶界面。DataTemplate 通常用于控件(如ListBox、…

知識圖譜和 LLM:利用 Neo4j 實現大型語言模型

這是關于 Neo4j 的 NaLLM 項目的一篇博客文章。這個項目是為了探索、開發和展示這些 LLM 與 Neo4j 結合的實際用途。 2023 年,ChatGPT 等大型語言模型 (LLM) 因其理解和生成類似人類的文本的能力而風靡全球。它們能夠適應不同的對話環境、回答各種主題的問題,甚至模擬創意寫…

NSSCTF中24網安培訓day1中web的題目

我flag呢 直接查看源代碼即可CtrlU [SWPUCTF 2021 新生賽]Do_you_know_http 用Burpsuite抓包,之后在User-agent下面添加XFF頭,即X-Forwarded-For:127.0.0.1 [SWPUCTF 2022 新生賽]funny_php 首先是php的弱比較,對于num參數,我們…

hot100 | 十一、二分搜索

1-leetcode35. 搜索插入位置 注意&#xff1a; 看Labuladong的書&#xff0c;知道while的判斷符號跟left right的關系 public int searchInsert(int[] nums, int target) {int left 0;int right nums.length - 1;while (left < right) {int mid left (right - left) /…

AI如何引領個人潛力的深度挖掘

AI如何引領個人潛力的深度挖掘 人工智能&#xff08;AI&#xff09;不僅是一場技術革命&#xff0c;更是對人類自身能力的一次深刻反思。本文旨在探討在AI時代下&#xff0c;個人如何挖掘并發揮自己的最大潛能&#xff0c;不僅在職場、教育領域找到新的定位&#xff0c;同時也…

PostgreSQL日志文件配置,記錄所有操作記錄

為了更詳細的記錄PostgreSQL 的運行日志&#xff0c;我們一般需要修改PostgreSQL 默認的配置文件&#xff0c;這里整理了一些常用的配置 修改配置文件 打開 PostgreSQL 配置文件 postgresql.conf。該文件通常位于 PostgreSQL 安裝目錄下的 data 文件夾中。 找到并修改以下配…

Python循環遍歷:深入理解與實戰應用

在Python編程中&#xff0c;循環遍歷是一種基本且強大的控制流結構&#xff0c;它允許我們重復執行一段代碼直到滿足某個條件為止。無論是處理數據集合&#xff08;如列表、元組、字典、集合等&#xff09;&#xff0c;還是執行重復的任務&#xff0c;循環遍歷都是不可或缺的工…

807.保持城市天際線

解題思路 首先找到四個主要方向&#xff08;東南西北&#xff09;的天際線情況。南北看是一樣的&#xff0c;東西看也是一樣的。所以統計出每行的最值&#xff0c;每列的最值&#xff0c;用一個n的數組存儲。分別存儲行和列的最值。最值的位置進行標記&#xff0c;然后對于其余…

【Qt 基礎】繪圖

畫筆 QPen pen; pen.setWidth(3); // 線條寬度 pen.setColor(Qt::red);// 畫筆顏色 pen.setStyle(Qt::DashLine);// 線條樣式 pen.setCapStyle(Qt::RoundCap);// 線端樣式 pen.setJoinStyle(Qt::BevelJoin);// 連接樣式 painter.setPen(pen);線條 線端 連接 畫刷 QBrush bru…

Spring容器詳細介紹

Spring容器 1 Spring核心容器介紹 問題導入 問題&#xff1a;按照Bean名稱獲取Bean有什么弊端&#xff0c;按照Bean類型獲取Bean有什么弊端&#xff1f; 1.1 創建容器 方式一&#xff1a;類路徑加載配置文件 ApplicationContext ctx new ClassPathXmlApplicationContext…

復合類型的字節對齊

引子 #inlcude<stdio.h> struct s{int i;char a: }; struct s sVar {5,A}; int main(void){printf("%d\n",sizeof(sVar)); }問1&#xff1a;上面這個代碼的輸出結果是多少&#xff1f; 答1&#xff1a; 思考 明明sVar這個結構體就兩個元素&#xff0c;5和…