【JAVA】【NIO】3、Java NIO Channel

【JAVA】【NIO】3、Java NIO Channel

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

Java NIO和流量相似,但有些差异:
·通道可读写,流仅支持单向。读或写
·异步通道读取
·通道读写器,他们是和Buffer交替

道的实现

下面是Java NIO中最重要的通道的实现:
·FileChannel
·DatagramChannel
·SocketChannel
·ServerSocketChannel

FileChannel从文件读数据或写进文件
DatagramChannel通过UDP在网络上读写数据
SocketChannel通过TCP在网络上读写数据
ServerSocketChannel能够监听TCP网络连接,像web server一样。对于每个连接都将建立一个SocketChannel。

主要的通道实例

使用FileChannel将数据读到Buffer中
这里写图片描写叙述

实例代码使用截图,是希望大家能够自己动手实践一下。 不要复制!

注意方法buffer.flip()的调用。首先将数据读进buffer中。然后flip,然后读出来。

下一节将具体介绍Buffer:【JAVA】【NIO】4、Java NIO Buffer

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117568.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu svn命令 tab补全(linux安装svn客户端)

    ubuntuSVN命令大全1、将文件checkout到本地目录svncheckout path(path是服务器上的目录)例如:svncheckoutsvn://192.168.1.1/pro/domain简写:svnco2、往版本库中添加新的文件svn add file例如:svn add test.php(添加te

    2022年4月11日
    57
  • HashMap的扩容机制—resize()「建议收藏」

    HashMap的扩容机制—resize()「建议收藏」 HashMap的扩容机制—resize()什么时候扩容:当向容器添加元素的时候,会判断当前容器的元素个数,如果大于等于阈值(知道这个阈字怎么念吗?不念fa值,念yu值四声)—即当前数组的长度乘以加载因子的值的时候,就要自动扩容啦。扩容(resize)就是重新计算容量,向HashMap对象里不停的添加元素,而HashMap对象内部的数组无法装载更多的元素时,对象就需要扩大数组的…

    2022年6月15日
    38
  • 使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证

    使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证这是深度学习课程的第一个实验,主要目的就是熟悉Pytorch框架。MLP是多层感知器,我这次实现的是四层感知器,代码和思路参考了网上的很多文章。个人认为,感知器的代码大同小异,尤其是用Pytorch实现,除了层数和参数外,代码都很相似。Pytorch写神经网络的主要步骤主要有以下几步:1.构建网络结构2.加载数据集3.训练神经网络(包括优化器的选择和Loss的计算)4.测试神经网络

    2022年6月22日
    54
  • MSELoss() 函数「建议收藏」

    MSELoss() 函数「建议收藏」MSELoss(均值损失)pytorch:defMSELoss(pred,target):return(pred-target)**2代码示例:importtorchimporttorch.nnasnna=torch.tensor([[1,2],[3,4]],dtype=torch.float32)b=torch.tensor([[3,5],[8,6]],dtype=torch.float32)loss_fn1=to

    2025年12月16日
    4
  • eclipse 设置自动补全快捷键「建议收藏」

    eclipse 设置自动补全快捷键「建议收藏」  目的: 使用快捷键 alt+/后,实现代码自动补全功能 操作如下: a) 点击window/Preferences,出现下图   b)修改快捷键   c)保存修改后,一般不需要重启eclipse,输入代码syso后用alt+/快捷键测试,看看是否能补全成System.out.println();一般情况下会立即生效,…

    2022年5月27日
    59
  • 十四、迭代器模式—— 一个一个的遍历 #和设计模式一起旅行#「建议收藏」

    套路要深…故事背景今天要介绍一下迭代器,首先简单说明一下,什么是迭代器,为什么要使用迭代器。 迭代器(Iterate) 的意思就是反复做某件事情。那为什么要反复做某件事情呢,比如我们有个容器里面装了很好东西(这些东西都是同一类型的),要从容器中取每一个东西出来,就要反复去做一个取出的事情。故事主角迭代器模式 : 提供一种方法顺序访问一个聚合对象中的各个元素,而…

    2022年2月27日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号