游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

JavaIO(2)NIO中的Channel

  您好,我是湘王,这是我的头条号湘王说,欢迎您来,欢迎您再来
  为了解决标准JavaIO令人难以忍受的效率问题,从JDK1。4开始,NIO出现了(NonblockingIO,官方称之为NewIO)。NIO不但新增加了许多全新的类,而且还对原来的很多类进行了改写。之所以是NIO,是因为使用它的场景众多,譬如开发中必不可少的Tomcat,以及大名鼎鼎的Netty,而Netty更是把NIO发挥到了极致,成为了RPC技术事实上的标准,所以它在JDK1。7中又升级为了AIO(NIO2)。
  NIO主要有三大核心部分:Channel(通道)Buffer(缓冲区)Selector(选择器多路复用器)
  传统IO基于字节流或字符流进行操作,而NIO基于新的Channel和Buffer进行操作。这是它们的比较:
  至于原理,不用记,可以这么来理解(我始终秉持的态度是:如果你在大厂是自研类RPC系统或类MQ中间件的,那这个一定要精通;否则理解就好,不必死磕):
  可以看到,IO就像个直肠子,直来直去,对数据流完全是来者不拒,来多少接多少,也不管能不能处理得了,这样极容易造成线程阻塞,也就是电脑卡顿。
  而NIO就有点弯弯绕了,它告诉线程:如果我忙不过来就别等我,你先忙你的。所以,按照这个约定,如果线程发现它不搭理自己的时候就会去忙别的。不会造成信息堵车。
  Channel接口最重要的实现可以分为两大类:用于本地文件和用于网络的Channel。FileChannel:用于本地文件数据的读写DatagramChannel:用于网络UDP数据的读写SocketChannel:客户端用于实现网络TCP数据的读写ServerSocketChannel:服务端用于监听网络TCP的连接请求,每个请求会创建会一个SocketChannel(即客户端连接)
  这是和Channel相关的继承结构图:
  IO本就枯燥,如果只是空洞说技术原理就更毫无价值,还是上代码,把NIO和IO比较一下。
  创建一个普通的Java项目:
  然后随便在网上或者自己电脑上找一个大文件,比如小电影之类的,写这样的代码:
  然后再稍稍改进一下,看看byte〔〕相对于BufferedReader的不同:
  最后再用NIO试试看:
  在main()方法中分别执行这三个方法,看看耗时上有啥不同。尽量找很大的文件,比如几个G的那种。因为现在计算机的配置都比较高,文件太小,一会就读完了,根本看不出来差别。
  另外,另外,在NIO中如果一个channel是FileChannel类型的,那么可以直接把FileChannel的数据传输到另一个Channel,就像这样:
  SocketChannel、ServerSocketChannel和DatagramChannel的使用也比较简单,就不堆代码了。
  Channel还提供了一种被称为ScatterGather(分散聚集)的新功能(也称为VectoredIO,矢量IO),它在多个Buffer上实现一个简单的IO操作。说人话就是:Scatter是把单个Channel的数据发给多个Buffer(分散),而Gather则是把多个Buffer的数据发给单个Channel(聚集),就像这样:
  同样可以用代码来演示一下:
  好了,NIO也属于Java中比较重要的内容,说多了容易搞晕。慢慢来
  感谢您抽空品鉴!技术、产品、运营和管理问题,可随时留言私信,欢迎骚扰
  我的头条主页
  我在头条

雅诗兰黛真我光采轻透润唇蜜怎么样?好用吗?雅诗兰黛真我光采轻透润唇蜜一点都不黏腻,还很保湿又持久,一整天下来嘴唇都不干。那么雅诗兰黛真我光采轻透润唇蜜怎么样?好用吗?试客背景职业:其他星座:双子肤质:混合性妆龄:……健康的早餐习惯,更有利于保持肠道健康不健康的肠道意味着你的消化系统无法正确处理食物,这可能会导致消化问题,如胃气、腹胀和腹痛。由于肠道内缺乏细菌,你的免疫系统也会变得虚弱,可能导致慢性疼痛、疲劳、腹泻或便秘。……北京景点推荐一故宫北京故宫是中国明清两代的皇家宫殿,旧称紫禁城,位于北京中轴线的中心。北京故宫以三大殿为中心,占地面积约72万平方米,建筑面积约15万平方米,有大小宫殿七十多座,房屋九千余间。……科颜氏防晒霜孕妇可以用吗科颜氏防晒霜成分科颜氏防晒霜,必入的防晒霜之一,质地很清爽,不容易出现搓泥和油腻的感觉,根据官方的介绍,这款防晒霜是不含有香精色素等等成分的,属于一款有机安全的防晒霜科颜氏防晒霜孕妇可以用吗……suqqu黑管口红哪个色适合黄皮suqqu口红素颜色号推荐suqqu是来自日本的高端化妆品,是嘉宝娜的子牌子,下面5号网小编带大家来看一下suqqu黑管口红哪个色适合黄皮?suqqu口红素颜色号推荐。suqqu黑管口红哪个色适合黄皮……诛仙世界毫不避讳?直言测试要分流天刀玩家,网友逆水寒干吗?网络游戏在国内发展已经超过20年,时至今日,已经成为普及度最高、竞争最激烈的娱乐产业了。尤其是近些年来手机游戏市场规模不断扩大,全世界的端游市场都在被方便快捷的手游不断蚕食,在……16岁天才万梓玥横空出世,高意杨涵玉王媛媛国家队地位压力大16岁天才万梓玥横空出世本赛季的江苏女排,在女排联赛中,使用清一色的新人,副攻和主攻,都是年轻的小将。第一场比赛,江苏女排对阵辽宁女排,那一场比赛,江苏女排的小将们还没有……jouer高光多少钱?jouer高光色号试色jouer虽然在国内很小众,但是在国外ins上却是很火,创始人希望给大家一种轻松玩妆的感觉,比较推荐它们家的唇釉或者高光,下面一起了解一下吧!jouer高光多少钱参考价格……梦妆唇膏笔要削吗?梦妆唇膏笔怎么削?梦妆唇膏笔颜色既好看又日常,薄涂是淡淡粉色,多涂几下会慢慢更显色,比较滋润不干。那么梦妆唇膏笔要削吗?梦妆唇膏笔怎么削?梦妆唇膏笔要削吗梦妆唇膏笔是要削的。要用专门……全民艺术普及90分钟教你下国际象棋,一起打开它的魔力空间吧90分钟教你下国际象棋国际象棋国际象棋是一种古老的棋种,至今已有近2000年的发展历史。它是人类文化知识的沉淀,小小的棋盘上,黑白棋格之间,……睫毛膏和睫毛纤维哪个先用?睫毛纤维怎么用?睫毛纤维和睫毛膏都能够使睫毛变得更加的纤长、卷翘,但是他们要搭配着使用呢。今天5号网小编就要为大家介绍一下,睫毛膏和睫毛纤维哪个先用?睫毛纤维怎么用?睫毛膏和睫毛纤维哪个先用……谜尚适合什么年龄阶段?missha谜尚适合什么年龄谜尚是大家非常熟悉的一个品牌,它们家的彩妆不错尤其是bb霜,价格也是十分亲民,所以很多人自然而然成了谜尚的死忠粉,不过谜尚到底适合什么年龄呢?谜尚适合什么年龄阶段在……
满庭芳叶烟起个诗意的名字近现代邓潜种借菰名,秋迟麦熟,一绳晒遍檐端。浅黄深绿,柳叶拣头番。风味浓于咂酒,将人醉、一样垂涎。村翁俏、荷包古式,拴上玉琅玕。堪怜……新秋起个诗意的名字清代顾翰尽是萧疏意,云山入望赊。凉蝉惊落叶,孤蝶抱秋花。寒听山中雨,明飞江上霞。村边吹牧笛,绝胜往年笳。新秋顾翰介绍清江苏无锡……浣溪纱悔三首其一起个诗意的名字近现代黄绮悔向人前语意深。花香迹乱误追寻。石桥斜月见衣襟。偷捏鼻端还假寐,防他一笑又惊心。喜符春梦到如今。浣溪纱悔三首其一黄绮介绍……沁园春宫词起个诗意的名字清代王易篆影凝春,珠光浸夜,深宫漏迟。正金盘舞后,共誇燕瘦,玉楼宴罢,人妒环肥。固宠无方,承恩有貌,独向西楼敛翠帏。深辜负,者清凉无汗,姑……饲鹤其一起个诗意的名字清代纪钜维朱顶元晴旧缟衣,芝田有梦未能归。区区莫羡潭皋粟,上相从来不要肥。饲鹤其一纪钜维介绍纪钜维,字香,一字伯驹,号悔轩,晚……和张洵蒙亭诗韵起个诗意的名字宋代尚用之江亭胜概冠三湘,仁智所乐皆其旁。翠岫俯映青罗光,上有乔木摩穹苍。亭下川遐覆银塘,水面风来笑语香。骚人相值喜飞觞,雄辩……约游西山会文学士宅闻和议成学起个诗意的名字清代林旭都言踏破西山石,我望西山势不行。争怪忧时文学士,但看烟翠亦何情。约游西山会文学士宅闻和议成学士愤甚余辈亦罢去林旭介绍(187……送章孝称归荆南起个诗意的名字宋代史尧弼峨岷西南横,盘石含灵光。有蓄不得发,澒洞难卷藏。泄为万夫豪,联翩郁相望。缅怀嘉祐初,赫赫都官郎。蓍龟抱先识,虎豹披其章。幕……浪淘沙起个诗意的名字宋代李彭老泼火雨初晴。草色青青。傍檐垂柳卖春饧。画舫载花花解语,绾燕吟鸾。箫鼓入西泠。一片轻阴。钿车罗盖竞归城。别有水窗人唤酒,弦月初生。……崇仙观起个诗意的名字宋代吴镒浮丘仙袂风中挹,子晋吹笙月下闻。翠盖霓裳君过我,尻舆神马我从君。崇仙观吴镒介绍〔约公元一一七四年前后在世〕字仲权临川人……次韵李监丞城西纪游起个诗意的名字宋代乐雷发叫舜问寥阔,咏濂涤尘嚣。驾言城西游,慨彼往哲遥。仪凤不可呼,驾鹅浴清潇。怀哉光风杳,蕙若吹凉飚。苍梧陇云愁,康……龙翻石起个诗意的名字清代朱筠乱山偪孤霤,急吐吞九八。峰峰雨助瀑,洗石如刀刮。石皮皴剥骨,流刀犹自刷。万千百丈石,激落声裂龙翻石朱筠介绍处州青田人,……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网