【計算機網絡 | 第4篇】分組交換

在這里插入圖片描述

文章目錄

  • 前言🥝
  • 電路交換🍋
    • 電路交換技術的優缺點
    • 電路交換的資源分配機制
  • 報文交換🍋
    • 報文交換技術的優缺點
    • 存儲轉發技術
  • 分組交換🐦?🔥
    • 分組交換的過程
    • 分組交換解決的關鍵問題
    • 傳輸過程的關鍵參數
    • 工作原理
    • 分組傳輸時延計算
    • 網絡擁塞的核心問題:排隊時延與分組丟失
      • 輸出緩存的基本作用
    • 轉發表與路由選擇協議
  • 電路交換與分組交換的對比🤔
    • 電路交換的問題與優勢
    • 分組交換的爭議
    • 分組交換的效率優勢:帶寬共享的數學模型
    • 突發流量下的性能對比:單用戶案例

前言🥝

在網絡核心部分起重要作用的是路由器(Router),它對收到的分組進行存儲轉發來實現分組交換。要了解分組交換的原理,首先要學習電路交換報文交換的相關概念。

電路交換🍋

?在早期專為電話通信服務的電信網絡中(傳統電話網),需要使用很多相互連接起來的電話交換機來完成全網的交換任務。電話交換機接通電話線的方式就是電路交換(Circuit Switching)

?在電路交換網絡中,當兩個終端設備(如電話機、主機)要進行通信時,首先需要在網絡中建立一條專用的通信路徑。這條路徑會貫穿所有中間節點(如交換機),并且在通信期間,這些節點會為這次連接預留必要的資源,包括:每一段鏈路的帶寬(傳輸速率)和節點內部的緩存空間。

?從通信資源分配的角度看,交換(Switching)實際上就是以某種方式動態地分配傳輸線路的資源。使用電路交換進行通信的三個步驟如下:

  1. 建立連接:開始占用通信資源
  2. 通話:即傳輸數據,一直占用通信資源
  3. 釋放連接:歸還通信資源

在這里插入圖片描述
?在電路交換中,電路建立后,除源節點和目的節點外,電路上的任何節點都采取直通方式發送數據和接收數據,即不存在存儲轉發所耗費的時間。在電路交換的整個通信階段,比特流連續地從源節點直達目的節點,就好像在一個管道中傳送。

電路交換技術的優缺點

電路交換技術的優點:

  • 資源預留機制:在通信開始前,系統就為該次通信分配了足夠的帶寬和緩存資源,保證了通信過程的穩定性。
  • 恒定的傳輸速率:因為資源被獨占,所以發送方可以以固定速率向接收方發送數據,不會有擁堵或排隊現象。
  • 低延遲、高可靠性:對于實時性要求高的應用(如語音、視頻會議),這種特性非常重要。
  • 連接狀態維護:所有沿途的交換設備都會記錄當前連接的狀態信息,以便正確轉發數據流。

電路交換技術的缺點:

  • 資源利用率低:即使通信雙方暫時沒有數據傳輸,所預留的資源也不能被其他用戶使用,造成浪費。
  • 不適合突發性通信:例如網頁訪問、文件下載等場景,數據流量波動大,使用電路交換效率不高。
  • 建立連接需要時間:對于短時間的通信來說,建立連接的時間可能占比較高,影響效率

?計算機之間的數據傳送往往是突發式(高頻、少量)的,當使用電路交換來傳送數據時,被用戶占用的通信線路資源在絕大部分時間里都是空閑的,其利用率低。

一個典型的電路交換網絡架構
?該網絡由4臺電路交換機通過4條鏈路互聯構成,形成了一個穩定的通信骨架。每條鏈路被劃分為4條獨立的"電路",這一設計使得每條鏈路能夠同時支持4條并行的連接,如同一條四車道的高速公路,每條車道(電路)可獨立承載數據傳輸任務。

在這里插入圖片描述

電路交換的資源分配機制

假設每條鏈路的總傳輸速率為1Mbps,每條鏈路被劃分為4條電路。那么:

  1. 單條電路的帶寬 = 1Mbps/4=250kbps
  2. 端到端連接的帶寬:若通信路徑經過兩條鏈路(如鏈路1和鏈路2),則總可用帶寬為
    250kbps×2=500kbps,這條連接在通信期間獨占這兩條電路的250kbps帶寬,即使鏈路上的其他電路空閑,也不會被其他連接使用。

?在電路交換網絡中,為了在一條物理鏈路上同時傳輸多路信號,提高資源利用率,通常采用頻分復用(FDM)或時分復用(TDM)技術。這兩種技術分別通過劃分頻率或時間資源,實現多路信號的并發傳輸。

報文交換🍋

?數據交換的單位是報文,用戶數據加上源地址、目的地址等信息后,后封裝成報文(Message)。
?報文交換采用存儲轉發技術,整個報文先傳送到相鄰的節點,全部存儲后查找轉發表,轉發到下一個節點,如此重復,直至到達目的節點。每個報文都可單獨選擇到達目的端的路徑。

報文交換技術的優缺點

報文交換技術的優點

  • 無建立連接時延:通信前無須建立連接,沒有建立連接時延,用戶可隨時發送報文。
  • 靈活分配線路:交換節點存儲整個報文后,選擇一條合適的空閑線路,轉發報文。若某條傳輸路徑發生故障,則可重新選擇另一條路徑傳輸數據。
  • 線路利用率高:報文在一段鏈路上傳送時才占用這段鏈路的通信資源。
  • 支持差錯控制:交換節點可對緩存下來的報文進行差錯檢驗。

報文交換技術的缺點

  • 轉發時延高,緩存開銷大,錯誤處理低效。

存儲轉發技術

?想象你正在通過快遞公司寄送一個包裹。快遞員不會在你剛放入包裹的一部分時就出發,而是需要等待整個包裹裝箱完成后,才開始運輸。這種“先接收完整數據再轉發”的方式,正是存儲轉發傳輸的核心思想

?路由器的工作原理與之類似,路由器作為數據的中轉站,必須完整接收一個報文 / 分組的所有比特后,才能開始向下一跳鏈路傳輸。這一過程分為兩個關鍵階段

  1. 存儲階段:路由器緩存整個分組,確保數據完整性。
  2. 轉發階段:路由器將完整分組通過出鏈路發送到下一個節點。

?當然了,這其中也包括對于數據進行必要的驗證,確認數據是完整的一個驗證的過程。

分組交換🐦?🔥

?分組交換也采用存儲轉發技術,但解決了報文交換中報文過長的問題。若報文太長,則對交換節點的緩存容量就有很大的需求,在錯誤處理方面也比較低效。

?待發送的整塊數據通常被稱為報文(Message)。將較長的報文劃分成若干個較小的等長數據段,在每個數據段前面添加一些由必要的控制信息(例如源地址和目的地址等)組成的首部(Header),這樣就構造出了一個個的分組(Packet)。分組是在分組交換網上傳送的數據單元。

在這里插入圖片描述

分組交換的過程

分組交換:

  • 發送方:構造分組,發送分組
  • 交換節點:緩存分組,轉發分組
  • 接收方:接收分組,還原報文

?具體過程:源主機將分組發送到分組交換網中,分組交換網中的分組交換機收到一個分組后,先將其緩存下來,然后從其首部中提取出目的地址,按照目的地址查找自己的轉發表,找到相應的轉發接口后將分組轉發出去,把分組交給下一個分組交換機。經過多個分組交換機的存儲轉發后,分組最終被轉發到目的主機。

?在傳輸過程中,分組會經過多個分組交換機(如路由器),每個交換機會根據當前網絡狀況動態選擇最佳路徑。所以,每個數據包其實是獨立傳輸的。可能經過北京→上海→廣州的路徑。也可能選擇北京→武漢→廣州的路線。這種"智能路徑規劃"使得某條鏈路故障時,數據包可自動繞行,也可以使得整體網絡資源得到更高效的利用

在這里插入圖片描述

分組交換解決的關鍵問題

分組交換解決了很多關鍵的問題,主要體現在:

  • 故障容錯能力:比如某條路徑故障時,數據包可自動選擇備用路徑。2019年某運營商海底光纜中斷時,全球互聯網流量自動繞開故障鏈路,正是分組交換的路由重選功能發揮了作用。

  • 高效資源利用:傳統電路交換需獨占通信資源,而分組交換允許多個數據流共享同一條鏈路。不同數據包可共享鏈路,如同高速公路的多車道設計,大大提高了網絡資源的使用效率。

  • 按需分配帶寬:突發大流量時,可動態調整各數據包的傳輸優先級。

傳輸過程的關鍵參數

?傳輸速率與延遲 通信鏈路的傳輸速率用bps(bit per second)表示。以家庭寬帶為例,100Mbps
的網絡意味著每秒可傳輸1億比特數據。假設一個分組大小為1500字節(即12,000比特),100Mbps

?鏈路上的傳輸時間計算如下: 傳輸時間 = 分組大小 ÷ 傳輸速率 = 12,000 bit ÷ 100,000,000 bps =
0.00012秒。

?當多路數據同時通過同一鏈路時,就會發生網絡擁塞。這就像高速公路高峰時段的車流擁堵。此時路由器會進行緩沖,導致分組排隊等待傳輸,從而增加整體延遲。這種現象在視頻會議中可能表現為畫面卡頓。

工作原理

工作原理:我們以源端系統 → 路由器 → 目的端系統的簡單網絡為例。

  • 數據包構成:假設每個數據包(分組)包含L比特
  • 鏈路速率:R bps(比特/秒)

源端發送分組:
在時刻 t=0源端開始發送分組1的第一個比特。
由于鏈路速率為 R,傳輸完整個分組需要時間 L/R秒。
到時刻 t=L/R,源端完成發送,分組1的全部比特已到達路由器并被緩存。

路由器轉發分組:
路由器在時刻 t=L/R開始處理分組1,此時它已存儲完整的分組數據。
路由器以同樣的速率 R 向出鏈路傳輸分組1,耗時 L/R秒。
到時刻 t=2L/R,分組1的全部比特已到達目的端系統。
所以,我們的總時延為:存儲轉發總時延 = 源端傳輸時間 + 路由器轉發時間 = 2L/R 秒。

在計算機網絡中,數據以分組(Packet)為單位傳輸。每個分組的傳輸過程包含這兩個關鍵時間參數

  • 傳輸時延:將分組所有比特推入鏈路所需的時間,計算公式為 D=L/R(L為分組長度,R為鏈路帶寬)
    若分組長度L=1500字節(12000比特),鏈路速率R=2Mbps,則傳輸時延
    D=12000/(2×106)=0.006秒=6毫秒
  • 傳播時延:電信號在物理介質中傳播所需時間,取決于鏈路長度和傳播速度。

分組傳輸時延計算

我們以最簡單的單鏈路場景為例,分析從源主機發送第一個分組到目的地接收全部分組所需的總時間。假設:

  • 分組大小為L bit
  • 鏈路傳輸速率為R bit/s
  • 傳輸過程中忽略傳播時延(光速傳播)和處理時延

多分組流水線傳輸,當傳輸路徑包含N條鏈路(即N-1臺路由器)時,時延計算需要考慮每條鏈路的傳輸時間。假設所有鏈路速率均為R,則:

  • 單個分組的端到端時延 = N × (L/R)
  • P個分組的總時延 = (P + N - 1) × (L/R)

網絡擁塞的核心問題:排隊時延與分組丟失

在分組交換網絡中,每臺路由器都扮演著"交通樞紐"的角色。當分組到達路由器時,需要經歷以下關鍵步驟

  1. 輸入處理:檢查分組目的地址并確定輸出鏈路
  2. 排隊等待:若目標鏈路正在傳輸其他分組,新到達分組必須進入輸出緩存(OutputBuffer)排隊
  3. 傳輸轉發:鏈路空閑時從隊列頭部取出分組進行傳輸
    這種因鏈路繁忙導致的等待時間稱為排隊時延,與固定存在的存儲轉發時延不同,排隊時延具有高度動態性,取決于網絡擁塞程度。

輸出緩存的基本作用

在分組交換網絡中,每臺路由器(或交換機)都會為連接的每條鏈路配置輸出緩存(也稱為輸出隊列)。這個緩存的作用類似于銀行柜臺前的等待隊伍:當客戶(分組)到達時,如果柜臺(鏈路)正在服務其他客戶(傳輸其他分組),新客戶必須先排隊等待。排隊通常采用先進先出(FIFO)原則,即先到達的分組優先傳輸。而路由器在完成當前分組的轉發后,才會從緩存中取出下一個分組繼續處理。(即存儲轉發)既然要排隊,那就會產生排隊時延。排隊時延 就是指分組在輸出緩存中等待傳輸的時間

網絡擁塞的極端表現:分組丟失

轉發表與路由選擇協議

轉發表:路由器的“導航手冊”
?在因特網中,每一臺路由器都扮演著交通警察的角色,負責將數據包從源主機引導到目標主機。當數據包到達路由器時,路由器會根據其目的IP地址決定下一跳的出口鏈路。這一決策依賴于路由器內部的轉發表

轉發表的工作原理:

  • 地址匹配:IP地址具有層次結構(如 192.168.1.1 ),類似于郵政地址(國家-省-市-街道)。路由器會從目的地址中提取前綴(如 192.168.1 ),并在轉發表中查找匹配的路由條目
  • 輸出鏈路選擇:每個路由條目包含一個網絡前綴和對應的輸出鏈路。例如,若目標地址匹配192.168.1.0/24 ,路由器會將數據包發送到與該網絡相連的接口
  • 路由選擇協議:自動構建導航圖

轉發表的設置并非人工逐條配置,而是通過路由選擇協議自動完成。這些協議就像“道路規劃系統”,動態計算最優路徑并更新轉發表。他主要持續完成兩項核心任務

  1. 路徑發現:動態探測網絡拓撲,就像交通部門實時監測道路狀況
  2. 最優路徑計算:采用最短路徑算法(如Dijkstra算法)確定最佳路由,類似導航軟件計算最快路線。

電路交換與分組交換的對比🤔

電路交換的問題與優勢

  • 資源浪費問題:盡管電路交換能提供穩定的通信質量,但其資源預留機制也帶來了顯著的經濟性問題。分組交換的
    支持者常指出,電路交換在靜默期會浪費大量網絡資源。

  • 電路交換的復雜性信令開銷

    • 信令系統:在通信開始前,網絡必須通過信令協議協調所有中間節點,為連接分配資源(如FDM的頻段或TDM的時隙)。
    • 維護成本:每條連接都需要維護狀態信息(如路徑、資源分配),這對大規模網絡來說會顯著增加管理開銷。
      相比之下,分組交換采用"即發即走"模式,無需預先協調,顯著降低了網絡控制復雜度。

盡管存在上述問題,電路交換在某些場景下仍具優勢:

  • 實時性要求高的業務:如語音通話、視頻會議,需保證低延遲和抖動。
  • 流量穩定的應用:如工業控制、遠程醫療,需持續占用固定帶寬。

所以,電路交換通過資源預留機制保障通信穩定性,但其經濟性和靈活性較差。分組交換通過動態資源分配提高了效率,更適合現代互聯網的突發性流量需求。然而,兩者并非完全對立:

  • 融合應用:現代網絡常結合兩者優勢(如5G中的QoS機制),為實時業務預留資源,同時優化突發流量的傳輸。
  • 技術演進:統計時分復用(STDM)和波分復用(WDM)等技術進一步提升了電路交換的資源利用率。

分組交換的爭議

批評者認為:

分組交換不適合實時業務(如電話、視頻會議),因為其端到端時延不可預測。
原因:分組可能在路由器緩存中排隊(排隊時延),導致時延波動。
類比:就像高峰期的地鐵站,乘客可能因擁擠而無法準時到達目的地。

支持者則指出:

分組交換資源利用率更高,實現成本更低,且適合突發性流量。
原因:分組按需動態分配資源,無需預先預留。
類比:類似共享會議室,空閑時段可臨時分配給其他用戶。

分組交換的效率優勢:帶寬共享的數學模型

場景設定
一條1Mbps鏈路被多個用戶共享

  • 每個用戶:
    • 活躍期:以100kbps速率發送數據(10%時間)
    • 靜默期:不發送數據(90%時間)

電路交換的限制:

  • 每用戶需獨占100kbps帶寬
  • 鏈路總帶寬:1Mbps = 10 × 100kbps → 僅支持1個用戶

分組交換的靈活性:

  • 用戶活躍概率為10%
  • 概率模型:
    • 若有35個用戶,11個及以上同時活躍的概率僅為0.04%
    • 當活躍用戶≤10時,聚合速率 ≤ 1Mbps → 無排隊時延
    • 當活躍用戶>10時,聚合速率 > 1Mbps → 出現排隊時延,但概率極低(0.04%)

分組交換可在35個用戶的場景下實現與電路交換(僅1用戶)相同的性能(99.96%時間內無排隊)。資源利用率提升35倍,顯著降低成本

突發流量下的性能對比:單用戶案例

場景設定
10個用戶中,1個用戶突發發送1000個1000bit分組(共1,000,000bit),其余用戶靜默

電路交換(TDM)的限制:

  • 鏈路劃分10個時隙,每個時隙100ms,包含1000bit
  • 活躍用戶每幀僅能使用1個時隙(100ms),其余9個時隙空閑
  • 傳輸時間:1000個分組 × 100ms = 10秒

分組交換的優勢:

  • 活躍用戶可獨占1Mbps帶寬(無競爭)
  • 傳輸時間:1,000,000bit ÷ 1Mbps = 1秒

電路交換因固定時隙限制,無法充分利用突發流量
分組交換按需動態分配,最大化鏈路利用率

?分組交換通過動態資源分配和高資源利用率,成為現代互聯網的基石。然而,電路交換在實時性和穩定性方面仍有獨特優勢。兩者的對比揭示了網絡設計的核心權衡:資源效率 vs 實時性保障。隨著技術發展,融合兩者優勢的混合網絡(如5G)將成為主流。


如果我的內容對你有幫助,請 點贊 評論 收藏 。創作不易,大家的支持就是我堅持下去的動力!
在這里插入圖片描述

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

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

相關文章

LLM - AI大模型應用集成協議三件套 MCP、A2A與AG-UI

文章目錄1. 引言:背景與三協議概覽2. MCP(Model Context Protocol)起源與動因架構與規范要點開發實踐3. A2A(Agent-to-Agent Protocol)起源與動因架構與規范要點開發實踐4. AG-UI(Agent-User Interaction P…

機器學習DBSCAN密度聚類

引言 在機器學習的聚類任務中,K-means因其簡單高效廣為人知,但它有一個致命缺陷——假設簇是球形且密度均勻,且需要預先指定簇數。當數據存在任意形狀的簇、噪聲點或密度差異較大時,K-means的表現往往不盡如人意。這時候&#xff…

RecyclerView 緩存機制

一、四級緩存體系1. Scrap 緩存(臨時緩存)位置:mAttachedScrap 和 mChangedScrap作用:存儲當前屏幕可見但被標記為移除的 ViewHolder用于局部刷新(如 notifyItemChanged())特點:生命周期短&…

大模型SSE流式輸出技術

文章目錄背景:為什么需要流式輸出SSE 流式輸出很多廠商還是小 chunk背景:為什么需要流式輸出 大模型的響應通常很長,比如幾百甚至幾千個 token,如果等模型一次性生成完才返回: 延遲高:用戶要等很久才能看…

[Flutter] v3.24 AAPT:錯誤:未找到資源 android:attr/lStar。

推薦超級課程: 本地離線DeepSeek AI方案部署實戰教程【完全版】Docker快速入門到精通Kubernetes入門到大師通關課AWS云服務快速入門實戰 前提 將 Flutter 升級到 3.24.4 后,構建在我的本地電腦上通過,但Github actions 構建時失敗。 Flutt…

go語言標準庫學習, fmt標準輸出,Time 時間,Flag,Log日志,Strconv

向外輸出 fmt包實現了類似C語言printf和scanf的格式化I/O。主要分為向外輸出內容和獲取輸入內容兩大部分。 內置輸出 不需要引入標準庫,方便 package mainfunc main() {print("我是控制臺打印,我不換行 可以自己控制換行 \n我是另一行")prin…

ElementUI之表格

文章目錄使用ElementUI使用在線引入的方式表格1. 帶狀態表格row-class-name"Function({row, rowIndex})/String"2. 固定表頭(height"string/number"屬性)2.1 屬性的取值2.2 動態響應式高度使用演示2.3 ??自定義滾動條樣式??2.4 表頭高度定制獲取一行信…

K8S 的 Master組件

K8S 的 Master 組件有哪些?每個組件的作用? K8s 大腦的 4 大核心模塊,掌控全局! Kubernetes 集群的 Master(主節點) 就像一座 指揮中心,負責整個集群的調度、管理和控制。它由 4 大核心組件組成…

如何 讓ubuntu 在root 下安裝的docker 在 普通用戶下也能用

在 Ubuntu 系統中,如果 Docker 是以 root 用戶安裝的,普通用戶默認無法直接使用 Docker 命令(會報權限錯誤)。要讓普通用戶也能使用 Docker,可以按照以下步驟操作:方法 1:將用戶加入 docker 用戶…

模板方法模式:優雅封裝算法骨架

目錄 一、模板方法模式 1、結構 2、特性 3、優缺點 3.1、優點 3.2、缺點 4、使用場景 5、實現示例 5.1、抽象類 5.2、實現類 5.3、測試類 一、模板方法模式 模板方法模式(Template Method Pattern)是一種行為設計模式,它在一個方…

韋東山STM32_HAl庫入門教程(SPI)學習筆記[09]內容

(1)SPI程序層次一、核心邏輯:“SPI Flash 操作” 是怎么跑起來的?要讀寫 SPI Flash,需同時理解 硬件連接(怎么接線) 和 軟件分層(誰負責發指令、誰負責控制邏輯)&#xf…

線上Linux服務器的優化設置、系統安全與網絡安全策略

一、Linux服務器的優化設置 線上Linux的優化配置序號基礎優化配置內容說明1最小化安裝系統【僅安裝需要的,按需安裝、不用不裝】,必須安裝的有基本開發環境、基本網絡包、基本應用包。2ssh登錄策略優化 Linux服務器上的ssh服務端配置文件是【/et…

基于人眼視覺特性的相關圖像增強基礎知識介紹

目錄 1. 傳統的灰度級動態范圍優化配置方法 2.基于視覺特性的灰度級動態范圍調整優化 1. 傳統的灰度級動態范圍優化配置方法 傳統的灰度級動態范圍調整方法主要包括線性動態范圍調整及非線性動態 范圍調整。線性動態范圍調整是最簡單的灰度級動態范圍調整方法,觀察…

Selenium使用超全指南

🍅 點擊文末小卡片 ,免費獲取軟件測試全套資料,資料在手,漲薪更快概述selenium是網頁應用中最流行的自動化測試工具,可以用來做自動化測試或者瀏覽器爬蟲等。官網地址為:相對于另外一款web自動化測試工具QT…

Go通道操作全解析:從基礎到高并發模式

一、channel類型 Go 語言中的通道(channel)是一種特殊的類型。它類似于傳送帶或隊列,遵循先進先出(FIFO)原則,確保數據收發順序的一致性。每個通道都是特定類型的導管,因此在聲明時必須指定其元素類型。 channel是一種類型, 一種引用類型。 聲明通道類型的格式如下:…

Linux網絡--1、網絡基礎

目錄 一、網絡發展 二、理解分層 2.1OSI七層模型 2.2TCP/IP分層模型 2.3分層的好處 三、認識協議 3.1初步認識 3.2了解指定組織 3.3具體協議理解 3.3.1是什么 3.3.2為什么 3.3.3與OS的關系 3.4總結 四、網絡傳輸流程 4.1局域網網絡傳輸 4.1.1通信過程 4.1.2概念解析 4.2跨網…

前端視角下關于 WebSocket 的簡單理解

參考 RFC 6455: The WebSocket Protocol WebSocket 協議基礎 協議本質:在單個 TCP 連接上提供全雙工通信通道的協議核心優勢: 雙向實時通信(服務器主動推送)低延遲(相比 HTTP 輪詢)高效數據傳輸&#xff0…

自動化一鍵部署 LNMP 環境

第一步:準備環境 & 準備腳本文件1. 你在 CentOS 7 的服務器/虛擬機里打開終端,確認你有 root 權限或者能用 sudo。輸入下面命令確認你的系統版本:cat /etc/centos-release你應該看到類似:CentOS Linux release 7.9.2009 (Core…

react之React.cloneElement()

react提供的這個方法克隆組件的方法,可能我們在平常的開發中用的很少,主要可能是我們并不知道或者并不了解這個方法。因為我在之前react的children文章中用到過,所以我就進行了一系列的測試,發現真的非常的好用。我們同樣使用一些…

學習Java的Day27

今天學習的主要內容是在IntelliJ IDEA開發環境中,通過部署Tomcat服務器并連接MySQL數據庫,實現了一個完整的留言板系統。這個項目涵蓋了前后端開發的全流程,具體包括以下關鍵環節:開發環境搭建使用IntelliJ IDEA Ultimate版&#…