摘要: 本文翻译自 Jakob Jenkov 的 Java NIO: Non-blocking Server,使用 NIO 实现非阻塞服务器的想法,原作者已经实现了一个服务器放在 GitHub 。文中所有想法均来自原作者,学习之余,觉得很不错,对以后深入学习服务器有帮助,故翻译之,有错误还望指教 阅读全文
posted @ 2018-12-01 17:14 czwbig 阅读(616) 评论(0) 推荐(1) 编辑
摘要: FileChannel 是连接到文件的通道,可以从文件中读取数据,并将数据写入文件,可以替代使用标准 IO 读写文件的操作。SocketChannel 是连接到 TCP 网络套接字的通道,相当于 Java 网络编程的套接字 阅读全文
posted @ 2018-11-30 22:44 czwbig 阅读(1891) 评论(1) 推荐(0) 编辑
摘要: 一个选择器可对应多个通道,选择器是通过 SelectionKey 这个关键对象完成对多个通道的选择的。注册选择器的时候会返回此对象,调用选择器的 selectedKeys() 方法也会返回此对象。每一个 SelectionKey 都包含了一些必要信息,比如关联的通道和选择器,获取到 SelectionKey 后就可以从中取出对应通道进行操作。 阅读全文
posted @ 2018-11-30 12:10 czwbig 阅读(1069) 评论(1) 推荐(1) 编辑
摘要: Java NIO Scatter / Gather ,Channel to Channel 聚集和分散,通道到通道,通道的聚集和分散操作在需要将传输的数据分开处理的场合非常有用,而通道到通道提供了一个复制,或者说传输数据的方式 阅读全文
posted @ 2018-11-29 19:31 czwbig 阅读(1157) 评论(0) 推荐(1) 编辑
摘要: 掌握了标准 IO 之后继续学习 NIO 知识。主要参考 JavaDoc 和 Jakob Jenkov 的英文教程 [Java NIO Tutorial] 阅读全文
posted @ 2018-11-28 23:01 czwbig 阅读(2921) 评论(0) 推荐(2) 编辑
摘要: 本文目的是大概了解 Java 网络编程体系,不深入。主要参考 JavaDoc 和 Jakob Jenkov 的英文教程《Java Networking》 阅读全文
posted @ 2018-11-25 23:27 czwbig 阅读(3450) 评论(0) 推荐(0) 编辑
摘要: 目录: "系统学习 Java IO 目录,概览" Java IO目的和功能 Java IO 包含 InputStream,OutputStream,Reader 和 Writer 类的许多子类。 原因是,所有这些子类都在解决各种不同的目的。 所涉及的目的总结如下: 网络访问 内部缓冲区访问 线程间通 阅读全文
posted @ 2018-11-24 22:33 czwbig 阅读(831) 评论(0) 推荐(0) 编辑
摘要: 目录: "系统学习 Java IO 目录,概览" BufferedReader BufferedReader 类构造器接收一个 Reader 对象,为 Reader 实例提供缓冲。 缓冲可以加快 IO 的速度。 BufferedReader 不是一次从网络或磁盘读取一个字符,而是一次读取一个更大的块 阅读全文
posted @ 2018-11-24 22:32 czwbig 阅读(892) 评论(0) 推荐(0) 编辑
摘要: 目录: "系统学习 Java IO 目录,概览" 跟踪行号的缓冲字符输入流 LineNumberReader LineNumberReader 类是一个 BufferedReader ,用于跟踪读取字符的行号。行号从 0 开始。每当 LineNumberReader 在包装的 Reader 返回的字 阅读全文
posted @ 2018-11-24 22:32 czwbig 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 目录: "系统学习 Java IO 目录,概览" Reader Reader 类是 Java IO API 中所有 Reader 子类的基类。 Reader 类似于 InputStream ,除了它是基于字符而不是基于字节的。 换句话说, Reader 用于读取文本,而 InputStream 用于 阅读全文
posted @ 2018-11-24 22:31 czwbig 阅读(2035) 评论(0) 推荐(3) 编辑