随笔分类 -  NIO

学习网站:https://www.bilibili.com/video/BV14W411u7ro?p=2&spm_id_from=pageDriver https://blog.csdn.net/zxm1306192988/article/details/60581173
java.net.SocketException: Connection reset
摘要:今天在学习socket编程的时候遇到了一个bug:java.net.SocketException: Connection reset 先来看一下自己的代码: 服务端: public class ServerSocketDemo { public static void main(String[] 阅读全文

posted @ 2024-05-14 15:42 ~码铃薯~ 阅读(727) 评论(0) 推荐(0) 编辑

直接缓存区和非直接缓存区
摘要:参考网址:https://www.likecs.com/show-204090266.html 阅读全文

posted @ 2022-08-15 10:15 ~码铃薯~ 阅读(8) 评论(0) 推荐(0) 编辑

Pipe类的使用
摘要:原理图: package com.nio; import org.junit.Test; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.Pipe; /** * Pipe类的使用 * 在 阅读全文

posted @ 2021-02-20 23:51 ~码铃薯~ 阅读(153) 评论(0) 推荐(0) 编辑

UDP DataGramSocket 小案例
摘要:package com.nio; import org.junit.Test; import java.io.IOException; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.nio 阅读全文

posted @ 2021-02-20 23:50 ~码铃薯~ 阅读(56) 评论(0) 推荐(0) 编辑

非阻塞式NIO 小案例(模拟聊天室)
摘要:package com.nio; import org.junit.Test; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.cha 阅读全文

posted @ 2021-02-20 23:48 ~码铃薯~ 阅读(85) 评论(0) 推荐(0) 编辑

网络通信小案例,服务端接收成功要给客户端一个反馈(阻塞式)
摘要:package com.nio; import org.junit.Test; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.net.InetSocketAddr 阅读全文

posted @ 2021-02-20 23:47 ~码铃薯~ 阅读(92) 评论(0) 推荐(0) 编辑

阻塞式网络通信小案例:
摘要:package com.nio; import com.sun.xml.internal.ws.server.ServerSchemaValidationTube; import org.junit.Test; import java.io.IOException; import java.net. 阅读全文

posted @ 2021-02-20 23:46 ~码铃薯~ 阅读(101) 评论(0) 推荐(0) 编辑

NIO的非阻塞式网络通信
摘要:阻塞与非阻塞: 虚拟内存被操作系统划分成两块:内核空间和用户空间,内核空间是内核代码运行的地方,用户空间是用户程序代码运行的地方。当进程运行在内核空间时就处于内核态,当进程运行在用户空间时就处于用户态。 服务端会判断内核地址空间有没有数据,如果没有数据的话,此时的服务端就处于等待状态。 后来,我们想 阅读全文

posted @ 2021-02-20 23:44 ~码铃薯~ 阅读(57) 评论(0) 推荐(0) 编辑

字符编码
摘要:查看支持哪些字符编码: package com.nio; import java.nio.charset.Charset; import java.util.Map; import java.util.Set; import java.util.SortedMap; /** * 字符集:charse 阅读全文

posted @ 2021-02-19 00:44 ~码铃薯~ 阅读(107) 评论(0) 推荐(0) 编辑

使用分散(Scatter)与聚集(Gather)来实现文件的复制
摘要:package com.nio; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.ByteBuffer; import 阅读全文

posted @ 2021-02-19 00:42 ~码铃薯~ 阅读(350) 评论(0) 推荐(0) 编辑

使用通道之间的数据传输(效果,也是实现文件的复制)
摘要:package com.nio; import java.io.IOException; import java.nio.channels.FileChannel; import java.nio.file.Paths; import java.nio.file.StandardOpenOption 阅读全文

posted @ 2021-02-19 00:36 ~码铃薯~ 阅读(47) 评论(0) 推荐(0) 编辑

创建直接缓存区完成文件的复制
摘要:package com.nio; import java.io.IOException; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.nio.file.Path; import 阅读全文

posted @ 2021-02-19 00:35 ~码铃薯~ 阅读(39) 评论(0) 推荐(0) 编辑

利用通道完成文件的复制 (非直接缓存区)
摘要:package com.nio; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; im 阅读全文

posted @ 2021-02-19 00:33 ~码铃薯~ 阅读(53) 评论(0) 推荐(0) 编辑

判断是直接缓存区还是间接缓存区
摘要:package com.nio; import java.nio.ByteBuffer; /** * 五、直接缓存区与非直接缓存区 * 非直接缓存区:通过allocate() 方法分配缓存区,将缓存区建立在jvm的内存中。 * 直接缓存区:通过allocateDirect() 方法分配直接缓存区,将 阅读全文

posted @ 2021-02-19 00:32 ~码铃薯~ 阅读(35) 评论(0) 推荐(0) 编辑

Mark标记的使用
摘要:package com.nio; import java.nio.ByteBuffer; /** * 缓存区(Buffer):在java NIO 中负责数据点额存取。缓存区就是数组。用于存储不同数据类型的数据 Mark标记 规律: 0<=mark<=position<=limit<=capacity 阅读全文

posted @ 2021-02-19 00:29 ~码铃薯~ 阅读(185) 评论(0) 推荐(0) 编辑

读数据
摘要:读取数据的小案例: package com.nio; import java.nio.ByteBuffer; /** * 一、缓存区(Buffer):在java NIO 中负责数据点额存取。缓存区就是数组。用于存储不同数据类型的数据 * * 根据数据类型不同(boolean除外),提供了相应类型的缓 阅读全文

posted @ 2021-02-19 00:27 ~码铃薯~ 阅读(58) 评论(0) 推荐(0) 编辑

NIO模型图
摘要:存放数据的过程: 写数据模式: 读取数据: 阅读全文

posted @ 2021-02-19 00:26 ~码铃薯~ 阅读(73) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示