专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

JavaIO(2)NIO中的Channel

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

梦幻联动览邦WACHMAXA90智能手表和F9FreeBudsPlus蓝牙耳机随着智能科技的发展,越来越多用户追求高品质的数码产品,而国内数码产品也出现了两匹黑马,它们就是览邦WACHMAXA90智能手表和览邦F9FreeBudsPlus多模式主动降噪真无线来青浦吧!和所有美好不期而遇向往美好的生活,在每一个日落日出时分,享受生活的美好瞬间,幸福而又自由。迎着风,迈开步子,或跑或走,视线所及之处,处处惊喜!在这冬日暖阳的风景里,所有美好不期而遇冬日里的烟火气雪花人有很多的诱惑,需要去面对克制,也有很多困难挫折,去解决每个人都有自己的思想,思考未来的人生道路如何去走,不要过于在意他人的认可,导致大部分的时间都为满足他人认可之上,获得着他人满意,耗费着自己的时间,远不如去自己认可自己更重要,知道自孙中山对联邦共和的设想1898年,孙中山在和日本友人宫崎寅藏等人谈话中,提出了联邦共和的设想。这是孙中山第一次提到联邦共和以及共和宪法。1900年,在至香港总督书一文中,孙中山更清楚的表示举民望所归之人清代农村对改嫁妇女的两种态度及背后因素由家谱记载所想到的这几天我在翻阅两部家谱。一部是我妈妈的娘家家谱,也就是我外公自己的父系宗族。为了方便叙事,下文称为W氏家谱另一部是我外婆的舅族家谱,也就是我外婆的外公自己的父系宗族。为了方便叙事,徒做嫁衣,为北宋打下基础,浅论周世宗柴荣改革如果您喜欢这篇作品,欢迎点击右上方关注。感谢您的鼓励与支持,希望能给您带来舒适的阅读体验。在中国历史上存在感较弱的五代时期,有这么一个皇帝。他即位后便开始了一系列的改革,为国家带来康熙剿灭葛尔丹(2)费扬古发现葛尔丹软肋葛尔丹在乌兰布通的高凉河畔被清军击败后,率领残部向西逃走。前面我们提到过,康熙在调集大军之前就派人去联络葛尔丹的侄子策妄阿拉布坦。这个策妄阿拉布坦趁着葛尔丹被清军困住,偷袭了葛尔丹纪念康熙统一台湾340周年,学术单位展开征文活动2月16日,中国社会科学院台湾史研究中心及台湾历史研究期刊官方公众号台湾历史研究发布纪念康熙统一台湾340周年暨两岸关系历史研究学术研讨会征文启事。文章称,康熙统一台湾是中国历史上汉乐府机构是如何设立的,经历了怎样的发展历程?职能是什么?汉代舞蹈并非独立发展,而是归属依附于专门的职能机构,这一专门的职能机构被称之为乐府。所谓的乐府,主要用来称谓古代音乐官署。但是,该名称又不仅限于官署名,它还作为一种文艺创作的样式而42张高清历史老照片有蒋介石白崇禧李宗仁宋美龄张群等一张民国时尚女郎肖像。夕阳下古寺中的蒋夫妇,看上去十分恩爱,1945年左右。一群国军士官在观摩战斗机。桂系白崇禧和李宗仁。后期,李宗仁主政治,白崇禧主军事,二人配合的十分融洽。白崇活着的烈士井玉琢作者徐继龙煤焦之都黑龙江省七台河市,城区有一座仙洞山,环绕着仙洞山锻炼的人们,都会路过七台河烈士陵园。人们路过这里,心里总会泛起涟漪。在这里可睹丰碑矗立,思烈士风范作家魏巍谁是最可
明成祖朱棣攻入南京建文帝朱允炆下落不明,为寻踪迹竟做这几件事头条创作挑战赛前言一位叛变起家的帝王,最害怕的,就是别人的反攻和清算。为此,他需要堵住天下的悠悠众口。而建文帝活不见人死不见尸,这成了朱棣一生的心病。为了探寻建文帝的行踪,从公元11949年,北平发生了一场不为人知的兵变,兵变的目标竟然是毛主席在阅读文章之前,麻烦您点击一下关注,既方便您进行讨论和分享,又能带来不一样的参与感,创作不易,感谢支持!1949年4月,刚解放不久的北平发生了一件大事,两个警卫营突然发生兵变,目标明成祖真的是马皇后所生吗?最近这些年明朝电视剧大为爆火,许多人对其中的明成祖朱棣产生了浓厚的兴趣,今天提出一个问题,朱棣究竟是谁所生?真的是电视剧里面他自己所说的马皇后吗?明成祖朱棣,(13601424),特斯拉到底是一条鲶鱼还是一根搅屎棍?现实版的富士康富士康,凭借大陆的廉价劳动力和资源,做到了现如今的局面!特斯拉,凭借着中国的市场和制造,奠定了马斯克本人世界首富的地位!两者的相似之处在于都是凭借着中国市场一步步做强做大,并且能够最美生产线丨上海友邦电气(集团)股份有限公司上海友邦电气(集团)股份有限公司是一家集研发制造销售和技术服务为一体的国家级高新技术企业国家级专精特新小巨人企业上海市科技小巨人企业,其产业领域覆盖工业电器新能源汽车配件充电设备及云安全五年发展历程分析与趋势展望本文作者虎符智库本文分析近5年来国内外云安全发展历程,并对云安全的发展趋势进行展望。云计算作为新基建中信息基础设施的重要组成,是产业数字化转型的重要支撑,如何保障业务上云的安全是业10月3日周一新闻联播要闻10条10月3日周一新闻联播要闻10条财联社10月3日电,今天新闻联播主要内容有1伟大复兴壮丽航程神州巨变小康梦圆2江河奔腾看中国松辽流域飞新歌振兴谱写新篇章3我国秋粮大面积开镰收获4全潍坊学院学子在山东省大学生智能制造大赛中获佳绩近日,第十四届山东省大学生科技节星辉杯山东省智能制造决赛在济南大学举行。经过紧张激烈的线上考试视频展示在线答辩等环节,潍坊学院智能化大棚地膜铺设机器人及Solidworks2组2项性机器人能代替婚姻吗?专家称性机器人将引发社会变革机器人的出现是科技高速发展的产物,对于这项科研成果的诞生,也存在许多争议。(此处已添加小程序,请到今日头条客户端查看)有专家指出,随着性机器人功能和技术的日趋完善,未来性机器人必将我们为什么造不出高端芯片芯片在现代生活中的应用无处不在,但是前几年普通大众对芯片这个词,还比较陌生,可是自从美国断供华为芯片之事,发展得路人皆知,大家终于知道了芯片在现代科技中举足轻重的作用,芯片的发展也iPhone13Pro濒临下架,剩余库存加速清仓,128GB版售价更亲民了消费者的意见虽然很重要,但过于听取消费者意见却也不是一件好事,因为消费者人数众多,俗话说得好众口难调,一款产品是无法满足所有消费者需求的,而且即使做到了,也可能付出其它代价,整体的
友情链接:快好知快生活快百科快传网中准网文好找聚热点快软件