JAVA_NIO ,走进JavaNIO的世界
2019独角兽企业重金招聘Python工程师标准>>>
Java NIO: Channels and Buffers//通道和缓冲区
Java NIO: Non-blocking IO//异步IO
//一个线程可以请求通道读取数据到buffer中,当通道读取数据到buffer中的时候,这个线程依然可以做其它的事情,buffer数据读到channel也是一样的
Java NIO: Selectors
//一个选择器可以对象可以管理多个通道比如 connection opened, data arrived,这样的话 一个线程就可以管理多个通道做一些数据的操作
Channels and Buffers
主要的实现 buffer的类
ByteBuffer
CharBuffer
DoubleBuffer
FloatBuffer
IntBuffer
LongBuffer
ShortBuffer
主要的 channel
FileChannel
DatagramChannel
SocketChannel
ServerSocketChannel
这些通道可以被用做 UDP + TCP network IO, and file IO
Selectors//适用于低业务量
A Thread uses a Selector to handle 3 Channel's
一个selector 允许一个线程处理多个通道,假使你有多个连接(channel),但是适用于低业务量,使用selector 注册在通道上 然后调用select()方法,这个方法将会阻塞,直到有一个或者多个注册在通道上的事件返回,
一旦方法返回,线程便可以处理这些事件,例如incoming connection(链接到来), data received(数据接收)
//未完待续。。。
转载于:https://my.oschina.net/u/876290/blog/367680
JAVA_NIO ,走进JavaNIO的世界相关推荐
- 一起走进计算机视觉的世界
计算机视觉简介 计算机视觉是一门研究如何使机器"看"的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别.跟踪和测量等,并进一步做图像处理,用计算机处理成为更适合人眼 ...
- 【密码学】一万字带您走进密码学的世界(下)
引文 密码学是研究编制密码和破译密码的技术科学.研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学:应用于破译密码以获取通信情报的,称为破译学,总称密码学. 在<一万字带您走进密 ...
- 【密码学】一万字带您走进密码学的世界(上)
引文 密码学是研究编制密码和破译密码的技术科学.研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学:应用于破译密码以获取通信情报的,称为破译学,总称密码学. 为了使读者对密码学有一个整 ...
- 带你走进rsync的世界
导读 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录.rsync共有3种使用方 ...
- 走进缓存的世界(一) - 开篇
系列文章 走进缓存的世界(一) - 开篇 走进缓存的世界(二) - 缓存设计 走进缓存的世界(三) - Memcache 概述 对于程序员来说多多少少都懂一点算法,算法是什么?算法是"时间& ...
- 汇编html文档,欢迎走进HTML的世界汇编.ppt
欢迎走进HTML的世界汇编 在HTML里用 和 划分段落, 可以不成对出现. 欢迎使用 HTML 这会是一种很有趣的体验 另一个段落元素 段落划分 使用对齐属性修饰段落 学习HTML 这会是一种很有趣 ...
- 走进JavaWeb技术世界7:Tomcat和其他WEB容器的区别
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- 走进JavaWeb技术世界16:极简配置的SpringBoot
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- 如何走进程序的世界?
在IT领域,谈论最多的可能就是程序.可以把整个领域比作一个"大锅饭",每个程序员都想从中分得一杯羹.不过,程序可能真的不是那么好写的. 下面来谈谈一点个人感想. 如果要学写程序,最 ...
最新文章
- c# 获取本机 MAC地址\序列号\硬盘序列号
- Forefront_TMG_2010-TMG建立Remote ***
- 如何将本地python项目部署到服务器上_如何将本地的Django项目部署到云服务器
- 5!(简单的了解for循环与递归的区别)
- OpenCV的dnn模块调用TesorFlow训练的MoblieNet模型
- 湖北工业大学计算机学院王泽建,“指尖年轮,感恩成长”计算机学院2019届毕业生晚会圆满举行...
- 嵌入式linux 中文输入法,基于嵌入式Linux的汉字输入法
- 什么是GSD文件以及如何在STEP7和TIA博途中安装GSD文件?
- No virtual method
- aix6 AIO 动态调整
- Unity手机移动设备重力感应
- Installations
- linux 日历,计算器,nano编辑器,开关机、重启,
- 12.1接收短信【斯纳克PACS医学影像云平台用户手册】
- 学习沐神课程 自用深度学习笔记05 线性回归基础优化算法
- 【2020算法练习一】笔试算法题 快手2020校园招聘秋招笔试--算法A试卷
- C++ XXTEA加密解密算法
- java 读取网页 获取内容导入到本地生成word 网页转word
- SQL Server数据库报错:无法打开物理文件
- 2018秋c语言程序设计考试答案,2018秋C语言程序设计上(赵三元)-中国大学mooc-题库零氪...
热门文章
- 广东第二师范学院计算机网络试题,韩山师范学院期末计算机考题2.doc
- python控制语句中的条件语句_『Python』条件控制语句
- python csv字符串写入_请教:如何把csv里的 emoji 字符串正确写入 DB?
- 项目代码从GitHub上克隆到本地
- 【人脸表情识别】不得不读的重要论文推荐(2019-2020篇)
- 【调参实战】BN和Dropout对小模型有什么影响?全局池化相比全连接有什么劣势?...
- 【完结】听完这12次分享,你应该完成了AI小白的蜕变
- 2022版全球及中国单晶硅市场规模分析与竞争策略研究报告
- 全球及中国商用壁挂式浴镜行业投资决策与需求前景预测报告2022版
- 全球及中国便携式卧式空压机行业前景动态与投资趋势分析报告2022版