Grizzly:Java NIO框架
生活随笔
收集整理的這篇文章主要介紹了
Grizzly:Java NIO框架
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在Java新I/O API(NIO)出現(xiàn)之前,開發(fā)可擴(kuò)展的服務(wù)器應(yīng)用比較困難。Grizzly NIO框架的設(shè)計初衷便是幫助開發(fā)者更好地利用Java NIO API,構(gòu)建強(qiáng)大的可擴(kuò)展的服務(wù)器應(yīng)用,并提供擴(kuò)展框架的組件:Web框架(HTTP/S)、WebSocket、Comet等。
核心框架
- 內(nèi)存管理:Grizzly2.0引入了以可以在運行時(runtime)提高內(nèi)存管理的子系統(tǒng)。該子系統(tǒng)包括三個主要構(gòu)件:
- 緩沖區(qū)(Buffers)
- ThreadLocal的內(nèi)存池(ThreadLocal memory pools)
- MemoryManager作為一個實用緩沖區(qū)和內(nèi)存池工廠
- I/O策略:通常我們使用一下兩種方處理特定的NIO事件:在接收到的線程直接處理(Same-thread)或者交給工作線程處理(Worker-thread)。
- Worker-thread IOStrategy
- Same-thread IOStrategy
- 動態(tài)IOStrategy
- Leader-follower IOStrategy
- 傳輸和連接:Transport和Connection是Grizzly2.3的核心網(wǎng)絡(luò)API。
- Transport定義了網(wǎng)絡(luò)傳輸方式如TCP、UDP,包括相關(guān)資源(線程池、內(nèi)存管理器等)和嵌套連接的缺省配置。
- Connection在Grizzly2.3代表一個TCP或UDP的單一網(wǎng)絡(luò)連接(很像socket)。
- Transport和Connection是一對多的關(guān)系。
- 過濾器鏈和過濾器:過濾器鏈顧名思義就是多個過濾器組成鏈。每個過濾器表示一個要執(zhí)行的處理單元,用于檢查并(或)修改由FilterChainContext表示的一個事務(wù)的狀態(tài)。
- 核心配置:核心框架配置的要點是Transport實例及其相關(guān)線程池。
- 端口統(tǒng)一:有時由于某些管理限制我們只能使用一個端口來發(fā)布多個服務(wù),根據(jù)請求重定向到相應(yīng)服務(wù)。Grizzly中的“端口統(tǒng)一”就是這個問題的解決方案。
- 監(jiān)控:Grizzly提供了監(jiān)控框架內(nèi)部關(guān)鍵組件的功能,且允許通過自定義擴(kuò)展監(jiān)控組件。
HTTP組件
- 核心HTTP框架:Grizzly2.3 HTTP框架提供了服務(wù)器和客戶端的編解碼HTTP請求響應(yīng)數(shù)據(jù)的功能。除了編解碼器本身,框架還包括基本HTTP原語和簡化協(xié)議相關(guān)工作的工具類。
- HTTP服務(wù)器框架
- 簡單的服務(wù)器API使Grizzly可以輕松嵌入應(yīng)用程序。
- 類似Servlet規(guī)范的抽象:HttpHandler (Servlet), Request (HttpServletRequest), Response (HttpServletResponse)。
- 通過響應(yīng)掛起/恢復(fù)機(jī)制提供處理長時間運行的HTTP事務(wù)的能力。
- 支持非阻塞IO流。
- 靜態(tài)內(nèi)容的使用文件緩存。
- HTTP服務(wù)器框架擴(kuò)展
- Comet
- JAXWS:從2.1.2版本開始Grizzly通過HTTP服務(wù)器框架支持JAX-WS web服務(wù)。
- WebSockets:Grizzly實現(xiàn)了RFC 6455的要求,同時也支持此協(xié)議的舊版本。這對于沒有實現(xiàn)最終草案規(guī)范的客戶端很有用。
- AJP:從2.1版本開始Grizzly開始支持AJP1.3。
- SPDY:從2.3版本開始Grizzly支持SPDY/3。SPDY的目標(biāo)是降低網(wǎng)頁加載時間。
開發(fā)文檔
- 下載
- 快速上手
- 最佳實踐
- 代碼示例
- API文檔
官方網(wǎng)站:https://grizzly.java.net/index.html
開源地址:https://github.com/GrizzlyNIO/grizzly-mirror
總結(jié)
以上是生活随笔為你收集整理的Grizzly:Java NIO框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vscode wamp php,在WAM
- 下一篇: Java 天气接口 天气查询