摘要: Java I/O 方式 BIO & NIO & AIO Java IO 的方式通常分为阻塞的 BIO(Blocking IO)、同步非阻塞的 NIO(New IO) 和异步非阻塞的 AIO(Asynchronous IO)。 JDK1.4 之前只支持 BIO,JDK1.4 以后开始支持 NIO,JD 阅读全文
posted @ 2024-01-20 22:48 行行行行星 阅读(14) 评论(0) 推荐(0)
摘要: AIO AIO(Asynchronous I/O)即异步输入/输出库是在 JDK 1.7 中引入的。虽然 NIO 在网络操作中,提供了非阻塞的方法,但是 NIO 的 IO 行为还是同步的。 对于 NIO 来说,我们的业务线程是在 IO 操作准备好时,得到通知,接着就由这个线程自行进行IO操作,IO操 阅读全文
posted @ 2024-01-20 22:46 行行行行星 阅读(56) 评论(0) 推荐(0)
摘要: 一、NIO NIO(New I/O)即新的输入/输出库是在 JDK 1.4 中引入的,弥补了原来的 I/O 的不足,提供了高速的、面向块的 I/O。 NIO 核心组件: 通道(Channels) 缓冲区(Buffers) 选择器(Selectors) 流与块 I/O 与 NIO 最重要的区别是数据打 阅读全文
posted @ 2024-01-20 22:43 行行行行星 阅读(63) 评论(0) 推荐(0)
摘要: 网络操作 Java 中的网络支持: InetAddress:用于表示网络上的硬件资源,即 IP 地址; URL:统一资源定位符; Sockets:使用 TCP 协议实现网络通信; Datagram:使用 UDP 协议实现网络通信。 InetAddress 没有公有的构造函数,只能通过静态方法来创建实 阅读全文
posted @ 2024-01-20 22:41 行行行行星 阅读(12) 评论(0) 推荐(0)
摘要: 对象操作 序列化 & 反序列化 如果我们需要持久化 Java 对象比如将 Java 对象保存在文件中,或者在网络传输 Java 对象,这些场景都需要用到序列化。 序列化就是将数据结构或对象转换成二进制字节流的过程。 反序列化将在序列化过程中所生成的二进制字节流转换成数据结构或者对象的过程。 序列化: 阅读全文
posted @ 2024-01-20 22:39 行行行行星 阅读(16) 评论(0) 推荐(0)
摘要: 字符操作 编码与解码 编码就是把字符转换为字节,而解码是把字节重新组合成字符。 如果编码和解码过程使用不同的编码方式那么就出现了乱码。 GBK 编码中,中文字符占 2 个字节,英文字符占 1 个字节; UTF-8 编码中,中文字符占 3 个字节,英文字符占 1 个字节; UTF-16be 编码中,中 阅读全文
posted @ 2024-01-20 22:35 行行行行星 阅读(22) 评论(0) 推荐(0)
摘要: 字节操作 字节输出流FileOutputStream 创建输出流对象 OutputStream 流对象是一个抽象类,不能实例化。所以,我们要找一个具体的子类 :FileOutputStream。 查看FileOutputStream的构造方法: FileOutputStream(File file) 阅读全文
posted @ 2024-01-20 22:33 行行行行星 阅读(26) 评论(0) 推荐(0)
摘要: 磁盘操作 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式。而Java就提供了一个类File供我们使用。 File对象 File:用于表示文件和目录的信息,但是它不表示文件的内容。构造方法: File(String pathname) //根据一个路径得到File对象 File(String 阅读全文
posted @ 2024-01-20 22:31 行行行行星 阅读(19) 评论(0) 推荐(0)