随笔分类 -  java — IO/NIO

摘要:出处: Java断点续传实现原理很简单 关键字: RandomAccessFile 一、作用: 随机流(RandomAccessFile)不属于IO流,支持对文件的读取和写入随机访问。 二、随机访问文件原理: 首先把随机访问的文件对象看作存储在文件系统中的一个大型 byte 数组,然后通过指向该 b 阅读全文
posted @ 2020-03-23 18:38 myseries 阅读(4863) 评论(0) 推荐(3) 编辑
摘要:出处:聊聊磁盘I/O那些事 背景 计算机硬件性能在过去十年间的发展普遍遵循摩尔定律,通用计算机的 CPU 主频早已超过 3GHz,内存也进入了普及 DDR4 的时代。然而传统硬盘虽然在存储容量上增长迅速,但是在读写性能上并无明显提升,同时 SSD 硬盘价格高昂,不能在短时间内完全替代传统硬盘。传统磁 阅读全文
posted @ 2020-03-09 12:36 myseries 阅读(732) 评论(0) 推荐(0) 编辑
摘要:出处: 理解I/O:随机和顺序 随机 I/O & 顺序 I/O 先看一篇译文介绍 随机I/O 顺序I/O Storage for DBAs: Ever been to one of those sushi restaurants where the food comes round in dishe 阅读全文
posted @ 2020-03-09 12:25 myseries 阅读(640) 评论(0) 推荐(1) 编辑
摘要:出处: 初识I/O | I/O系列(一) I/O,input/output的简写,也就是输入/输出。在计算机系统中,I/O与处理器(CPU)、存储器(内存和磁盘)是计算机的重要组成部件。输入是从I/O设备复制数据到主存,输出是从主存复制数据到I/O设备。I/O实现的功能是通过某种方式,实现计算机和外 阅读全文
posted @ 2020-03-09 12:21 myseries 阅读(1369) 评论(0) 推荐(0) 编辑
摘要:出处: 一文看懂java io系统 学习java IO系统,重点是学会IO模型,了解了各种IO模型之后就可以更好的理解java IO Java IO 是一套Java用来读写数据(输入和输出)的API。大部分程序都要处理一些输入,并由输入产生一些输出。Java为此提供了java.io包 java中io 阅读全文
posted @ 2019-12-21 14:30 myseries 阅读(1448) 评论(0) 推荐(0) 编辑
摘要:“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1.同步与异步 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication) 所谓同步,就是在发出一个*调用*时,在没有得到 阅读全文
posted @ 2019-10-28 23:34 myseries 阅读(1349) 评论(0) 推荐(0) 编辑
摘要:出处: Java NIO浅析 NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。 那么NIO的本质是什么样的呢?它是怎样与 阅读全文
posted @ 2019-10-28 23:18 myseries 阅读(698) 评论(0) 推荐(0) 编辑
摘要:出处: Java NIO 底层原理 目录 1.1. Java IO读写原理 1.1.1. 内核缓冲与进程缓冲区 1.1.2. java IO读写的底层流程 1.2. 四种主要的IO模型 1.3. 同步阻塞IO(Blocking IO) 1.4. 同步非阻塞NIO(None Blocking IO) 阅读全文
posted @ 2019-05-21 17:18 myseries 阅读(1177) 评论(0) 推荐(1) 编辑
摘要:出处: 反应器模式 vs 观察者模式 反应器模式 vs 生产者消费者模式 反应器模式 vs 观察者模式 反应器模式 是一种为处理服务请求并发提交到一个或者多个服务处理程序的事件设计模式。当请求抵达后,服务处理程序使用解多路分配策略,然后同步地派发这些请求至相关的请求处理程序。 观察者模式 有时被称作 阅读全文
posted @ 2019-05-21 16:55 myseries 阅读(1148) 评论(0) 推荐(0) 编辑
摘要:出处:Reactor模式 本文目录 1. 为什么是Reactor模式 2. Reactor模式简介 3. 多线程IO的致命缺陷 4. 单线程Reactor模型 4.1. 什么是单线程Reactor呢? 4.2. 单线程Reactor的参考代码 4.3. 单线程模式的缺点: 5. 多线程的Reacto 阅读全文
posted @ 2019-05-21 16:47 myseries 阅读(2589) 评论(0) 推荐(0) 编辑
摘要:出处:Java NIO Selector 1.1. Selector入门 Java NIO的核心组件包括: (1)Channel(通道) (2)Buffer(缓冲区) (3)Selector(选择器) 其中Channel和Buffer比较好理解 ,联系也比较密切,他们的关系简单来说就是:数据总是从通 阅读全文
posted @ 2019-05-21 11:38 myseries 阅读(704) 评论(0) 推荐(1) 编辑
摘要:出处: Java NIO Channel 1.1. Java NIO Channel的特点 和老的OIO相比,通道和NIO流(非阻塞IO)主要有以下几点区别: (1)OIO流一般来说是单向的(只能读或者写),通道可以读也可以写。 (2)OIO流值读写阻塞的,而通道可以异步读写。 (3)通道总是基于缓 阅读全文
posted @ 2019-05-21 11:20 myseries 阅读(445) 评论(1) 推荐(1) 编辑
摘要:出处:Java NIO Buffer Buffer是一个抽象类,位于java.nio包中,主要用作缓冲区。Buffer缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。 注意:Buffer是非线程安全类。 阅读全文
posted @ 2019-05-21 11:09 myseries 阅读(742) 评论(0) 推荐(0) 编辑
摘要:出处:JAVA NIO 简介 Java 中 New I/O类库 是由 Java 1.4 引进的异步 IO。由于之前老的I/O类库是阻塞I/O,New I/O类库的目标就是要让Java支持非阻塞I/O,所以,更多的人喜欢称之为非阻塞I/O(Non-block I/O)。 NIO弥补了原来同步阻塞I/O 阅读全文
posted @ 2019-05-21 10:50 myseries 阅读(819) 评论(0) 推荐(0) 编辑
摘要:前言 我们在写java程序的时候,为了进行优化,把全部的精力用在了处理效率上,但是对IO的关注却很少。这也可能是由以前java早期时JVM在解释字节码时速度慢,运行速率大大低于本地编译代码,因此以前往往忽视了IO的优化。 但是现在JVM在运行时优化已前进了一大步,现在的java应用程序更多的是受IO 阅读全文
posted @ 2019-05-13 18:35 myseries 阅读(857) 评论(0) 推荐(0) 编辑
摘要:对象的输入输出流 : 主要的作用是用于写入对象信息与读取对象信息。 对象信息一旦写到文件上那么对象的信息就可以做到持久化了 对象的输出流: ObjectOutputStream 对象的输入流: ObjectInputStream 使用: 对象的输出流将指定的对象写入到文件的过程,就是将对象序列化的过 阅读全文
posted @ 2019-04-23 16:07 myseries 阅读(4173) 评论(0) 推荐(0) 编辑