Java IO 控制台交互實戰:從基礎讀取到擲骰子遊戲完整案例
控制台輸入本質:System.in 位元組流 JVM 啟動時自動將標準輸入綁定到 System.in(InputStream)。使用者輸入文字按 Enter,O
Java IO 裝飾流核心實戰:DataInputStream/OutputStream 實現結構化數據讀寫
從「手動拼裝 byte[]」到「結構化讀寫」 基礎 IO 只認 byte[]/char[],寫入 int、String、陣列需手動轉換、協議設計,極易出錯。Da
Java IO 緩衝流與橋接流實戰:BufferedReader/Writer 高效讀寫控制台
為什麼需要緩衝流? 基礎 IO 類(FileInputStream 等)每次讀寫都直接觸發系統呼叫,頻繁切換用戶/核心態,效率極低。緩衝流在記憶體建立緩衝區(預
Java IO 進階避坑指南:流選擇策略、非順序讀取與中文編碼處理
面對龐大 IO 體系,如何精準選型? Java IO 超過 50 個類,初學者常陷入「不知從何下手」。掌握三步選型法,輕鬆鎖定目標類: 第一步:按數據源選實體
Java 多線程核心基礎:進程與線程、優勢、生命週期全景圖
從單任務到並發時代 DOS 時代一次只能跑一個程式;現代 OS 支援多進程並發(QQ、Word、瀏覽器同時開)。Java 在單一進程內部進一步引入線程,實現更細
Java 多線程基石:繼承 Thread 類完整指南與常見誤區
最直觀的線程啟動方式 定義一個類繼承 java.lang.Thread,重寫 run() 方法放入執行邏輯,建立實例後呼叫 start() 即可啟動新線程。JV
Java 多線程三大實現方式全解析:Runnable、TimerTask 與最佳實踐
為什麼不只用「繼承 Thread」? Java 單繼承限制導致「繼承 Thread」無法同時繼承業務基類。業界主流採用實作介面或組合框架方式,靈活解耦「任務邏輯
Java 多線程入門實戰:定時炸彈與兩種線程實現方式對比
場景:一個可中斷的倒計時器 我們要實現一個「定時炸彈」:程式啟動後開始 60 秒倒計時,每秒印出剩餘秒數;使用者可在控制台輸入 quit 隨時拆彈(停止線程)。
Java 多線程實戰:模擬網路非同步傳輸與主線程解耦
為什麼網路通訊必須另開線程? 網路 I/O 涉及跨機器通訊,延遲不可控(從幾毫秒到數秒)。若在主線程(UI 線程)直接呼叫 socket.send(),整個程式
Java 多線程安全入門:識別臨界資源與 synchronized 互斥鎖
多線程帶來的隱形危機 多線程讓程式能「一心多用」,但也引入了經典的線程安全問題。當多個線程同時讀寫同一份資料(如變數、檔案、資料庫連線)時,若缺乏協調機制,就會
Java 多線程核心機制:從互斥到同步的進階實戰
前言:為什麼需要更高級的線程協作? 在上一篇文章中,我們透過簡單的計數器示例理解了 synchronized 關鍵字如何實現「互斥」,確保同一時間只有一個線程能
Java 編程那些事兒 100:多線程問題與處理(三)——死鎖、線程優先級與總結
12.4.3 死鎖 多線程在客戶端較簡單,服務端大量使用且問題更多。另一常見服務端問題是 死鎖:兩個或以上線程為使用某臨界資源無限等待。如兩人同時到達衛生間,互
Java 編程那些事兒 101:網絡編程概述——從打電話理解網絡通訊本質
第十三章 網絡編程 網絡編程是初學者嚮往卻常因門檻放棄的技能。其實並不複雜:你會打手機嗎?按號碼撥打即可。網絡編程本質就是在兩個或多個設備(如計算機)間傳輸數據
Java 編程那些事兒 102:網絡編程技術概述與 InetAddress 類詳解
13.2 網絡編程技術 前文建立網絡編程概念,現介紹代碼實現。步驟與語言無關,適用各語言。 13.2.1 網絡編程步驟 客戶端三步驟 建立網絡連接:指定服務
Java 編程那些事兒 103:TCP 網絡編程基礎——Socket 與 ServerSocket 完整實現指南
13.2.3 TCP 編程 TCP 方式保持連接,類比打電話:撥號一次(建立連接)即可多次通話(多次傳輸)。傳輸可靠,底層自動重發確保送達。Java 提供良好支
Java 編程那些事兒 104:TCP 網絡編程進階——連接復用與多線程並發服務端
一、如何復用 Socket 連接? 前示例中客戶端建立連接僅發送一次數據即關閉,實際應建立一次連接進行多次交換。做法:將數據交換邏輯置入循環。 客戶端復用示例
Java 編程那些事兒 105:UDP 網絡編程基礎——DatagramSocket 與 DatagramPacket 詳解
13.2.4 UDP 編程 網絡通訊除 TCP 外,另一種是 UDP(User Datagram Protocol,用戶數據報協議)。類比:TCP 如打電話(建
Java 編程那些事兒 106:UDP 網絡編程進階——多次交換與多線程並發服務端
UDP 簡單示例:客戶端發送系統時間,服務端回饋 OK 客戶端代碼: package udp; import java.net.*; import java.u