1.Channel接口的定义:
public interface Channel
{
        public boolean isOpen( );
        public void close( ) throws IOException;
}

2.Channel的常见类型:
FileChannel,  SocketChannel, ServerSocketChannel, and DatagramChannel;
FileChannel通过RandomAccessFile, FileInputStream,  FileOutputStream的getChannel( )来初始化。
SocketChannel sc = SocketChannel.open( );
sc.connect (new InetSocketAddress ("somehost", someport));
ServerSocketChannel ssc = ServerSocketChannel.open( );
ssc.socket( ).bind (new InetSocketAddress (somelocalport));
DatagramChannel dc = DatagramChannel.open(  );

3.Scatter/Gather,必须使用ByteBuffer.allocateDirect(100)
public interface ScatteringByteChannel extends ReadableByteChannel {
        public long read (ByteBuffer [] dsts)  throws IOException;
        public long read (ByteBuffer [] dsts, int offset, int length)  throws IOException;
}
public interface GatheringByteChannel extends WritableByteChannel {
        public long write(ByteBuffer[] srcs) throws IOException;
        public long write(ByteBuffer[] srcs, int offset, int length) throws IOException;
}

4.file lock是和file相关,而不是channel。可以对进程有效,而不是线程。可以通过内存映射文件(memory-mapped file)来实现线程同步
5.buffer = fileChannel.map (FileChannel.MapMode.READ_ONLY, 100, 200);
6.MappedByteBuffer are direct. load( )将整个文件加载到内存(改方法不能保证完成)。force( )将数据flush到硬盘。
7.未绑定端口的DatagramChannel系统会自动分配端口。DatagramChannel的connect(),将保证只接受指定源地址的数据包。这时候,可以使用普通的read和write方法,包括Scatter/Gather

Java中channel的应用总结相关推荐

  1. java中channel的作用,java.nio.channels包中的FileChannel类的作用是()。

    一旦计算机感染了病毒,即使用防病毒程序检测到它,如果不进行计算机的全部扫描,也不可能做到完全无毒. Koreaisnolongeradeveloping country,butPeoplestillp ...

  2. java io类型_Java NIO之Java中的IO分类

    前言 前面两篇文章(Java NIO之理解I/O模型(一).Java NIO之理解I/O模型(二))介绍了,IO的机制,以及几种IO模型的内容,还有涉及到的设计模式.这次要写一些更贴近实际一些的内容了 ...

  3. channel java_Java中channel用法总结

    本文实例总结了Java中channel用法.分享给大家供大家参考.具体分析如下: 1.Channel接口的定义: public interface Channel { public boolean i ...

  4. 常见的 IO 模型有哪些?Java 中 BIO、NIO、AIO 的区别?

    IO 模型这块确实挺难理解的,需要太多计算机底层知识.写这篇文章用了挺久,就非常希望能把我所知道的讲出来吧!希望朋友们能有收货!为了写这篇文章,还翻看了一下<UNIX 网络编程>这本书,太 ...

  5. Java中的I/O模型总结(八股文自述)

    Java中的I/O模型 BIO: 是指应用程序在执行 I/O 操作后,如果没有获得响应,就会阻塞当前线程,不能执行其他任务. 同步阻塞 I/O 模式,数据的读取写⼊必须阻塞在⼀个线程内等待其完成.在活 ...

  6. Java中如何锁文件

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | liululee 来源 | 公众号「锅外的大佬 ...

  7. 操作系统中的零拷贝与java中的使用

    下面是在Linux操作系统中将磁盘中的数据传输到网络设备上的示例图. 在图中可以看到数据先从磁盘上读取到用户空间而后再从用户空间写入到网络设备中,写入和读取一共经历四次拷贝,和四次状态的切换(用户到内 ...

  8. java中override快捷键_【基础回溯1】面试又被 Java 基础难住了?推荐你看看这篇文章。...

    本文已经收录自 https://github.com/Snailclimb/JavaGuide  (59k+ Star):[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. ...

  9. Java NIO学习系列六:Java中的IO模型

    前文中我们总结了linux系统中的5中IO模型,并且着重介绍了其中的4种IO模型: 阻塞I/O(blocking IO) 非阻塞I/O(nonblocking IO) I/O多路复用(IO multi ...

最新文章

  1. 伍六七带你学算法 进阶篇-三数之和
  2. python09-魔法方法
  3. pwa要离线html么,正确使用PWA
  4. 20条Linux命令面试问答
  5. Core-3399-JD4 六核高性能AI核心板
  6. java数组比较的头文件_设给定一组整型数组,求它们的平均值及最大值 Java程序设计...
  7. VC维与DNN的Boundary
  8. .NET Core 3.0 中的新变化
  9. MYSQL-skip-networking
  10. MySQL在windows系统中修改datadir路径后无法启动问题,报错1067
  11. 矩阵论复习笔记:盖尔圆的隔离技巧
  12. HashMap工作原理和扩容机制
  13. linux内核nvme驱动程序,Linux中nvme驱动详解
  14. 帆软之FineReport填报报表
  15. HTML5+CSS3项目实战之河马牙医首页、百度首页、Mac桌面、简书首页、登录注册页面、苏宁易购首页
  16. Maple_Vanderpol方程_摄动法公式符号推导
  17. 优化TCP/IP,HTTP,Https,Socket,websocket,弱网及网络协议(概念)
  18. 强劲大小核结构 三星将推八核处理器
  19. 腾讯云---语音合成---一段文本合成语音
  20. 马尾综合征是腰椎间盘突出患者的严重并发症

热门文章

  1. MagickNet 缩图工具
  2. html 鼠标经过时显示,css 如何实现当鼠标滑过超链接出现提示框呢?
  3. 苹果发布2019款iPad mini/Air:配A12芯片支持手写笔
  4. iPhone设置整点报时提醒
  5. python修改电脑名称_windows更改计算机名称
  6. linux回收站空间,打造linux回收站功能
  7. 记录_20190814
  8. 每日新闻 | Gartner分析和商业智能平台魔力象限公布,阿里云Quick BI入选
  9. elasticsearch7.x+---搜索建议设计与实现
  10. 反常积分(广义积分)存在判别法