zoukankan      html  css  js  c++  java
  • JavaNIO之Channel

    Channel的本质是通道,用来连接JVM之外数据向JVM内传输数据,比如来自于硬盘的文件,来自于网络的数据包。JVM之外的数据就是通过Channel进行数据传输;如果把Channel比作河道,那么作为数据的载体就是ByteBuffer,buffer的隐喻就是容器,专门用于传输数据的容器;

    作为channel的获取,是通过文件对象RandomAccessFile.getChannel()方式获得;然后通过read()以及write()方法来通过Buffer写入以及读取。

    Buffer的flip方法就是为Drain(读取信息)做准备的。Channel有几个共通的方法:read、write、create(channel)以及close。

    Channel家族有连个主要的类:FileChannel,SocketChannel以及Pipe。

    FileChannel有一个force方法,用于将缓存中的数据写回到硬盘中;因为现代的操作系统处于性能的考虑,很多时候都会将对数据的修改进行缓存处理,force()方法就是强制将内存中的修改写回到硬盘中;FileChannel第二个点就是Lock。

  • 相关阅读:
    正则匹配 sql语句参数
    正则判断是不是移动端浏览
    .net 2.0 后台多线程
    Oracle 获取当天数据
    C# 图片转Base64
    Js FileReader图片加载
    KendoUI操作笔记
    Android Studio解析Json文件内容
    LitePal
    C#最基本的小说爬虫
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/4340705.html
Copyright © 2011-2022 走看看