你好,我是彤哥,本篇是netty系列的第三篇。 簡介 上一章我們介紹了IO的五種模型,實際上Java只支持其中的三種,即BIO/NIO/AIO。 本文將介紹Java中這三種IO的進化史,並從使用的角度剖析它們背后的故事。 Java BIO BIO概念解析 BIO,Blocking ...
你好,我是彤哥,本篇是netty系列的第四篇。 歡迎來我的公從號彤哥讀源碼系統地學習源碼 amp 架構的知識。 簡介 上一章我們一起學習了Java中的BIO NIO AIO的故事,本章將帶着大家一起使用純純的NIO實現一個越聊越上癮的 群聊系統 。 業務邏輯分析 首先,我們先來分析一下群聊的功能點: 加入群聊,並通知其他人 發言,並通知其他人 退出群聊,並通知其他人 一個簡單的群聊系統差不多這三 ...
2019-11-20 00:03 0 426 推薦指數:
你好,我是彤哥,本篇是netty系列的第三篇。 簡介 上一章我們介紹了IO的五種模型,實際上Java只支持其中的三種,即BIO/NIO/AIO。 本文將介紹Java中這三種IO的進化史,並從使用的角度剖析它們背后的故事。 Java BIO BIO概念解析 BIO,Blocking ...
——日拱一卒,不期而至! 你好,我是彤哥,本篇是netty系列的第六篇。 簡介 上一章我們一起學習了Java NIO的核心組件Channel,它可以看作是實體與實體之間的連接,而且需要與Buffer交互,這一章我們就來學習一下Buffer的特性。 概念 Buffer用於 ...
你好,我是彤哥,本篇是netty系列的第五篇。 簡介 上一章我們一起學習了如何使用Java原生NIO實現群聊系統,這章我們一起來看看Java NIO的核心組件之一——Channel。 思維轉變 首先,我想說的最重要的一個點是,學習NIO思維一定要從BIO那種一個連接一個線程的模式轉變成 ...
——日拱一卒,不期而至! 你好,我是彤哥,本篇是netty系列的第七篇。 簡介 上一章我們一起學習了Java NIO的核心組件Buffer,它通常跟Channel一起使用,但是它們在網絡IO中又該如何使用呢,今天我們將一起學習另一個NIO核心組件——Selector,沒有它可以說就干 ...
你好,我是彤哥,本篇是netty系列的第二篇。 簡介 本文將介紹linux中的五種IO模型,同時也會介紹阻塞/非阻塞與同步/異步的區別。 何為IO模型 對於一次IO操作,數據會先拷貝到內核空間中,然后再從內核空間拷貝到用戶空間中,所以一次read操作,會經歷兩個階段: (1)等待數據 ...
你好,我是彤哥,本篇是netty系列的第一篇。 歡迎來我的公從號彤哥讀源碼系統地學習源碼&架構的知識。 簡介 本文主要講述netty系列的整體規划,並調查一下大家喜歡的學習方式。 知識點 netty系列彤哥准備分成三個大的模塊來完成: 入門篇 入門篇主要 ...
【概述】 實現一個網絡群聊工具。參與聊天的客戶端消息是通過服務端進行廣播的。 主要由兩塊組成:聊天服務器端(ChatServer)和聊天客戶端(ChatClient)。 聊天服務器(ChatServer)功能概述 : 1.監聽所有客戶端的接入、斷線 2.有客戶端A接入聊天室時,將接入消息 ...
目錄 簡介 NIO常用用法 NIO和EventLoopGroup NioEventLoopGroup SelectorProvider SelectStrategyFactory RejectedExecutionHandler ...