亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【NIO】Chapter 1. Introduction

系統 1577 0

Encapsulation is a good thing:

It partitions responsibility, hides implementation details, and promotes object reuse.

封裝:按職責劃分類,隱藏實現細節,提供對象重用。

?

IO Versus CPU Time

應用程序開發過程中,使用各種技巧將程序設計得更靈活,更優雅,更具擴展性是非常重要的。然而,很多人往往在其它方面花大力氣,卻忽視了另一個重要的方面:對IO操作沒有給予足夠的重視。

IO操作是否高效,將很大程度上影響系統的響應速度。

?

打個不是很恰當的比喻:

花100倍力氣在程序(非IO)優化上,應用服務器吞吐量提高2倍

花10倍力氣在IO程序優化上,應用服務器吞吐量提高100倍

應用IO非常耗時,稍微優化一點,性能就有上升很多。

?

所以,當發現程序完成一個功能,IO操作會占據很大一部分時間,那就需要去關注IO操作的優化了。否則,那些你精心設計的代碼也只能空閑著(等待IO操作)。

?

No Longer CPU Bound

不要因為沒有及時提供數據給CPU,而讓CPU處于等待數據的狀態,這是一種浪費。

?

比如:CPU希望一次處理一卡車的數據。

由于 傳統IO的低效:面向流Stream,一個字節/一行代碼(傳統IO類提供的數據大小為一鏟子的量),極度不滿足CPU的需求,最終導致CPU很多時候都是處于“等待數據”的狀態,不能有效的利用CPU的處理能力。(注意:傳統IO也可以通過封裝數據到緩沖區Buffer,一次提供一車數據給CPU,只是決定權在程序員那里!)

?

NIO的出現,解決了數據量的問題,一次裝一卡車(a Buffer Object )數據給CPU,讓CPU盡情的處理。NIO倡導通過卡車(Buffer)運輸數據給CPU。

?

Getting to the Good Stuff

NIO包提供了新的抽象體系解決低效IO的問題。

Channel、Buffer、Selector構成了NIO的核心,為高效IO提供了豐富的API進行數據操作。

雖然NIO不能訪問任何操作系統的底層代碼,但是NIO所提供的高性能IO操作,在大多數商業操作系統上都是可用的。

?

Buffer Handling

消除將數據從Kernel Space 到User Space的拷貝過程,提供效率

?

磁盤數據拷貝到JVM內存中需要經歷幾個步驟:
【NIO】Chapter 1. Introduction
?

實現原理:

1. More than one virtual address can refer to the same physical memory location.

2. A virtual memory space can be larger thanthe actual hardware memory available.

?

By mapping a kernel space address to the same physicaladdress as a virtual address in user space, the DMA hardware (which can access only physical memory addresses) can fill a buffer that is simultaneously visible to both the kernel and a user space process.

?

由內核地址空間映射到同一個物理地址作為用戶空間的虛擬地址

DMA硬件(只能訪問物理內存地址)仍然將數據裝入到內核空間

該緩沖區(內核空間在內存中的映射地址所指內存區域)同時對內核和用戶空間是可見的。這樣,將數據寫入內核也就變相的寫入到了用戶空間了,JVM直接訪問用戶空間的虛擬地址就可以拿到內核緩存區的數據。
【NIO】Chapter 1. Introduction
?

?

?

?

?

【NIO】Chapter 1. Introduction


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产高清美女一级a毛片久久 | 日本四虎影视 | 免费人成网站在线高清 | 午夜官网| 成人午夜影院在线观看 | 成熟的女性强烈交性视频 | 国产二区三区 | 亚洲国产成人久久一区www妖精 | 特级全黄一级毛片视频 | 国产精品一区伦免视频播放 | 一级肉体毛片视频免费看看 | 青草视频网站 | 国产中文在线观看 | 国产一区二三区 | 亚洲一区二区三区国产精品 | 一级毛片免费网站 | 一级特黄性色生活片一区二区 | 久久综合香蕉 | 香蕉人精品视频多人免费永久视频 | 日日操夜夜操狠狠操 | 国产精品久久久久久久伊一 | 中文字幕视频在线观看 | 美日韩免费视频 | 天天夜干 | 国产成人精品一区二区三在线观看 | 精品无人乱码一区二区三区 | 久久男女 | 国产1区2区3区在线观看 | 亚洲午夜一区二区三区 | 一级毛片美国一级j毛片不卡 | 999久久狠狠免费精品 | 日本深夜影院 | 色综合久久天天综线观看 | 亚洲综合日韩在线亚洲欧美专区 | 欧美一级毛片免费高清aa | 久久精品免费观看久久 | 国产福利午夜自产拍视频在线 | 亚洲香蕉在线观看 | 五月婷影院 | 久久精品国产视频 | 97在线资源 |