I/O
lldouble
这个作者很懒,什么都没留下…
展开
-
Java I/O 总结
Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段、一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流。对数据读取程序来说,看...转载 2018-05-15 08:52:45 · 109 阅读 · 0 评论 -
Java NIO 系列教程
Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Java NIO: Channels and Buffers(通道和缓冲区)标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到...转载 2018-05-23 00:42:45 · 117 阅读 · 0 评论 -
Java NIO浅析
NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。那么NIO的本质是什么样的呢?它是怎样与事件模型结合来解放线程、提高系统吞吐的呢?本文会从传统的阻塞I/O和线程池模型面临的问题讲起,然后对比几种常见I/O模型,一步步分析...转载 2018-06-22 16:47:40 · 122 阅读 · 0 评论 -
Java I/O 模型的演进
什么是同步?什么是异步?阻塞和非阻塞又有什么区别?本文先从 Unix 的 I/O 模型讲起,介绍了5种常见的 I/O 模型。而后再引出 Java 的 I/O 模型的演进过程,并用实例说明如何选择合适的 Java I/O 模型来提高系统的并发量和可用性。由于,Java 的 I/O 依赖于操作系统的实现,所以先了解 Unix 的 I/O 模型有助于理解 Java 的 I/O。相关概念同步和异步描述的是...转载 2018-06-19 18:34:13 · 182 阅读 · 0 评论 -
JAVA IO模型演进及Reactor模式
一、传统BIO模型在基于传统同步阻塞模型中:ServerSocket负责绑定IP地址,启动监听端口;Socket负责发起连接操作。连接成功后,双方通过输入输出流进行同步阻塞式通信。通信过程:1)服务端通常由一个独立的Acceptor线程负责监听客户端的连接;2)Acceptor监听到客户端的连接请求后,为每个客户端创建一个新的线程进行链路处理;3)链路处理线程完成客户端请求的处理后,通过输出流返回...转载 2018-06-19 18:39:21 · 1194 阅读 · 0 评论 -
Linux中的IO模型
IO模型 linux系统IO分为内核准备数据和将数据从内核拷贝到用户空间两个阶段。 这张图大致描述了数据从外部磁盘向运行中程序的内存中移动的过程。用户空间、内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟储存空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限...转载 2018-07-26 18:10:33 · 239 阅读 · 0 评论 -
Java 非阻塞 IO 和异步 IO
本文将介绍非阻塞 IO 和异步 IO,也就是大家耳熟能详的 NIO 和 AIO。很多初学者可能分不清楚异步和非阻塞的区别,只是在各种场合能听到异步非阻塞这个词。本文会先介绍并演示阻塞模式,然后引入非阻塞模式来对阻塞模式进行优化,最后再介绍 JDK7 引入的异步 IO,由于网上关于异步 IO 的介绍相对较少,所以这部分内容我会介绍得具体一些。希望看完本文,读者可以对非阻塞 IO 和异步 IO...转载 2018-08-10 09:09:56 · 138 阅读 · 0 评论