zoukankan      html  css  js  c++  java
  • java.nio包的分析(二)---Channels分析

           继上一小节分析完Java.nio直接包下的Buffer,我们再来看看下面的一些包,自然就落到了Channels通道包的实现了。Channels包的作用可谓是其中的主要作用的体现了,可以用FileChannel实现双向I/O,ServerChannel无阻塞的通信等等。首先亮出他的目录结构。



    还有相应的服务程序接口包中的一些类


    我们先来看其中的文件锁类,避免多线程同时操作文件


    我们再来看看其中的FileChannel类时如何操作的,首先


    下面我们再来看看其中的用于Socket的SelectKey类,nio下的socket与平时我们用的用法不同,他的事件需要我们先去注册,相当于以事件通知的形式,里面总共有4种类型


    里面还提供可一个可关联的对象,也许是用来存储什么信息的


    说完SelectorKey,我们看看SocketChannel类,

    还有另外一种形式


    在这个包里还有叫Channels类跟Channel类名字太容易记混了,channel 只是一个interface,加了一个就是一个全新的类的,我们来看看其中的read()方法,


    然后我们看看刚刚提到的一个提供类,叫SelectorProvider类,


    或者通过构造函数的形式去取得


    Channel明显感觉是里面最难懂的部分了,类最多,我只能理解个大概吧,我只能是带领大家入个门。好,接下来分析nio中的最后一块新大陆,Charset。

  • 相关阅读:
    JavaScript之闭包
    JavaScript之原型模式
    .NET Core3.1 解决跨域问题 Startup的配置
    .NTE Core 使用Editor.md富文本编辑器上传图片
    .NET Core3.1 WebApi 配置Swagger 超详细办法
    C#添加写日志,记录单个变量
    一个让我痛不欲生的算法题
    用EF 搭建底层
    用Linq To SQL 搭建底层
    安卓端腾讯QQ-【我的电脑】下载地址
  • 原文地址:https://www.cnblogs.com/bianqi/p/12184316.html
Copyright © 2011-2022 走看看