最近在研究java IO、NIO、NIO2(或者称AIO)相关的东西,有些概念还是要明确下。 按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?首先一个IO操作其实分成了两个....
分类:
其他好文 时间:
2015-05-17 23:26:19
阅读次数:
162
一、InputStream与OutputStream1. 输入与输出我们编写的程序除了自身会定义一些数据信息外,经常还会引用外界的数据,或是将自身的数据发送到外界。比如,我们编写的程序想读取一个文本文件,又或者我们想将程序中的某些数据写入到一个文件中。这时我们就要使用输入与输出。输入: 读输出: 写...
分类:
其他好文 时间:
2015-05-13 19:20:47
阅读次数:
259
一、Reader和Writer1. 字符流原理Reader是所有字符输入流的父类而Writer是所有字符输出流的父类。字符流是以字符(char)为单位读写数据的。一次处理一个unicode。字符流都是高级流,其底层都是依靠字节流进行读写数据的,所以底层仍然是基于字节读写数据的。2. 常用方法Read...
分类:
其他好文 时间:
2015-05-13 19:11:46
阅读次数:
273
11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择。因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力。本章IO类的使用就从读写文件开始。11.3.1 文件操作 文件(File)是 最常见...
分类:
编程语言 时间:
2015-05-13 09:55:59
阅读次数:
104
1.IO操作其实分成了两个步骤:发起IO请求和实际的IO操作
2.阻塞IO和非阻塞IO的区别在于第一步,发起IO请求是否会被阻塞,如果阻塞直到完成那么就是传统的阻塞IO,如果不阻塞,那么就是非阻塞IO。
3.同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO服用、信号驱动IO都是同步IO,如果不阻塞,而是操...
分类:
其他好文 时间:
2015-05-12 17:15:09
阅读次数:
167
IO操作基本上需要用到Stream相关的子类,因此这类问题在CSDN问得也是比较多。其实对于Stream来说,操作起来比较简单,只要对细节的处理稍微注意一下,相信在使用它的时候也会得心应手。对于Stream相关的问题,大致分如下几类。问题一,基本操作的问题;问题二,编码的问题;问题三,尾部处理...
文件读写在Python中,文件读写是通过open()函数打开的文件对象完成的。使用with语句操作文件IO是个好习惯。try: f = open('1.txt', 'r') #rb写二进制 #f = open('1.txt', 'w') #wb读二进制 f.read().dec...
分类:
编程语言 时间:
2015-05-10 22:02:40
阅读次数:
158
1.概念:IO(输入/输出)指的是计算机与外部世界,或者一个程序与计算机的其余部分的接口。2.流(stream)的概念:当程序需要写入数据的时候,就会开启一个通向目的地设备的流。(1).流的特性:含有流质(数据);具有方向(读或写)。3.IO操作的步骤:建立流、操作流、关闭流4.文件类(1).Fil...
分类:
编程语言 时间:
2015-05-09 21:59:11
阅读次数:
229
前言
有人反馈之前几篇文章过于理论缺少实际操作细节,这篇文章就多一些可操作性的内容吧。
注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础。
优化目标
1.减少 IO 次数
IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 I...
分类:
数据库 时间:
2015-05-06 11:06:56
阅读次数:
190
using System;using System.IO;namespace ConsoleApplication2{ class Program { private const string FILE_NAME = "Test.txt"; static vo...