原创 Netty由淺到深_第五章_Netty通過WebSocket實現服務器和客戶端長連接

1)Http協議是無狀態的,瀏覽器和服務器間的請求響應一次,下一次會重新創建連接 2)要求:實現基於WebSocket的長連接的全雙工交互 3)改變Http協議多次請求的約束,實現長連接,服務器可以發送消息給瀏覽器 4)客戶端瀏覽

原创 Netty由淺到深_第五章_Netty實現羣聊系統和私聊系統

應用實例-羣聊系統 1)編寫一個Netty羣聊系統,實現服務器和客戶端之間的數據簡單通訊 2)客戶端:通過Channel可以無阻塞發送消息給其他所有用戶,同時可以接受其他用戶發送的消息(由服務器轉發得到) 3)服務器端:可以檢測

原创 Netty由淺到深_第四章_ Netty異步模型

基本介紹 1)異步的概念和同步相對。當一個異步過程調用發出後,調用者不能立刻得到結果。實際處理這個調用的組件完成後,通過狀態、通知和回調來通知調用者 2)netty中的I/O操作是異步的,包括Bind、Write、Conn

原创 Netty由淺到深_第三章_NIO模型3大組件詳細介紹

NIO三大核心原理示意圖 每個channel(通道)都會對應一個buffer(緩衝區) Selector(選擇器)對應一個線程,一個線程對應多個channel(連接) 程序切換到那個channel是由事件決定的,==Event

原创 Netty由淺到深_第五章_ Netty核心組件EventLoop

Bootstrap、ServerBootstrap 1)Bootstrap意思是引導,一個Netty應用通常有一個Bootstrap開始,主要作用是配置整個Netty程序,串聯各個組件,Netty中Bootstrap類是客戶端程

原创 Netty由淺到深_第五章_Netty心跳檢測機制案例

應用實例-羣聊系統 1)編寫一個Netty心跳檢測機制案例,當服務器超過3秒沒有讀取時,就會提示空閒 2)當服務器超過5秒沒有寫操作時,就表示空閒 3)實現當服務器超過7秒沒有都或者寫操作時,就提示讀寫空閒 package c

原创 Netty由淺到深_第四章_ Netty模型

1 Netty模型(簡單版) 1) BossGroup線程維護selector,只關注Accept 2) 當接受到Accept事件,獲取到對應的socketChannel,封裝成NIOScoketChannel並註冊到Work

原创 Netty由淺到深_第四章_ Netty模型之Reactor

1 原生NIO存在問題 NIO的類庫和API繁雜,使用麻煩;需要熟練掌握Selector、ServerSocketChannel、SocketChannek、ByteBuffer等 需要具備其他的額外技能:要熟悉java多線程編

原创 Netty由淺到深_第三章_ NIO與零拷貝

在java程序中,常用的零拷貝有mmap(內存映射)和sendFile。先看一下java傳統IO和網絡編程的一段代碼 上述代碼: 1) 首先先把Hard Driver(硬件)數據進行DMA(direct memory acc

原创 Netty由淺到深_第三章_NIO網絡編程實列-羣聊系統

要求 1)編寫一個NIO羣聊系統,實現服務器端和客戶端之間的數據簡單通訊 2)實現多人聊天 3)服務器端:可以檢測用戶上線,離線,並實現消息轉發功能 4)客戶端:通過channel可以無阻塞發送消息給其他所有用戶,同時可以接受其他

原创 Netty由淺到深_第二章_BIO模型

BIO模型 I/O模型基本說明 Java共支持3中網絡編程I/O模型:BIO,NIO,AIO java BIO : 同步阻塞(傳統阻塞型),服務器實現模式爲:一個連接對應一個線程,即客戶端有連接請求時,服務器端就需要啓動一個線程

原创 Netty由淺到深_第一章_Netty介紹和應用場景

Netty介紹和應用場景 Netty介紹 Netty是由jboss提供的一個java開源框架 Netty是一個異步的,基於事件驅動的網絡應用架構,用以開發高性能,高可靠性的網絡IO程序 Netty主要是針對TCP協議下,面向Cl

原创 支付寶支付功能(沙箱)+springboot+jsp

從零搭建支付寶支付案例 1.註冊開發者賬號,獲取【公鑰】和【私鑰】,對支付寶提供給開發者的賬號進行充值,請參考“ 會吐泡的魚”的博客一到六步:https://blog.csdn.net/supr

原创 MySQL的基本概念與操作

數據庫的基本概念 什麼是數據庫? 用於存儲和管理數據的倉庫。 數據庫的特點: 持久化存儲數據的。其實數據庫就是一個文件系統 方便存儲和管理數據 使用了統一的方式操作數據庫 – SQL 數據庫的分類: 數據庫根據存儲採用的數據結構

原创 Netty由淺到深_第二章_NIO模型簡單介紹

I/O模型基本說明 Java NIO全稱java non-blocking IO。從JDK1.4開始,java提供一系列改進的輸入/輸出的新特性,被統稱爲NIO(New IO),是同步非阻塞的。 NIO相關類都被放在java.n