Java IO学习笔记四】的更多相关文章

作者:Grey 原文地址:Java IO学习笔记四:Socket基础 准备两个Linux实例(安装好jdk1.8),我准备的两个实例的ip地址分别为: io1实例:192.168.205.138 io2实例:192.168.205.149 安装必要工具: yum install -y strace lsof pmap tcpdump 准备服务端代码 import java.io.*; import java.net.InetSocketAddress; import java.net.Serve…
内存操作流 之前的所有的流操作都是针对文件的,但是有时候只是想要实现数据间转换,此时如果我们想要创建一个文件然后再删除文件,那样显得有点麻烦,因此此时的内存操作流就显得很适合这类的操作,因为它只是在内存中存储,并不会真正的创建文件,内存操作流涉及的两个类是ByteArrayInputStream,ByteArrayOutputStream. ByteArrayInputStream ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节.内部计数器跟踪read…
Java IO学习笔记:概念与原理   一.概念   Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了流,然后将这些流还可以写到另外的目的地(文件.内存.控制台.网络),之所以称为流,是因为这个数据序列在不同时刻所操作的是源的不同部分.   二.分类   流的分类,Java的流分类比较丰富,刚接触的人看了后会感觉很晕.流分类的方式很多:   1.按照输入的方向分,输入流和输出流,输入输出的参照对象是…
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件. 字节流和字符流 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件 在java.io包中操作文件内容的主要有两大类:字节流.字符流,两类都分为输入和输出操作.在字节流中输出…
转 https://blog.csdn.net/u013096088/article/details/79122671 Java NIO学习笔记四(零拷贝详解) 2018年01月21日 20:20:57 阅读数:956 什么是零拷贝 维基上是这么描述零拷贝的:零拷贝描述的是CPU不执行拷贝数据从一个存储区域到另一个存储区域的任务,这通常用于通过网络传输一个文件时以减少CPU周期和内存带宽. 零拷贝给我们带来的好处 减少甚至完全避免不必要的CPU拷贝,从而让CPU解脱出来去执行其他的任务 减少内存…
作者:Grey 原文地址:Java IO学习笔记七:多路复用从单线程到多线程 在前面提到的多路复用的服务端代码中, 我们在处理读数据的同时,也处理了写事件: public void readHandler(SelectionKey key) { SocketChannel client = (SocketChannel) key.channel(); ByteBuffer buffer = (ByteBuffer) key.attachment(); buffer.clear(); int re…
Java IO学习笔记总结 前言 前面的八篇文章详细的讲述了Java IO的操作方法,文章列表如下 基本的文件操作 字符流和字节流的操作 InputStreamReader和OutputStreamWriter操作 内存操作流 管道流 打印流 System对IO的支持 BufferedReader和BufferedWriter 后续 字节流 字节流的操作都是基于InputStream和OutputStream这两个抽象类 InputStream InputStream是字节输入流,主要的功能是从…
Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流,即:将一个字符流的输出对象变成字节流的输出对象. InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即:将一个字节流的输入对象变成字符流的输入对象. 一般在操作输入输出内容就需要使用字节或字符流,但是有些时候需要将字符流变成字节流的形式,或者将字节…
Java IO学习笔记一 File File是文件和目录路径名的抽象表示形式,总的来说就是java创建删除文件目录的一个类库,但是作用不仅仅于此,详细见官方文档 构造函数 File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例. File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例. File(String parent, String chil…
作者:Grey 原文地址:Java IO学习笔记一:为什么带Buffer的比不带Buffer的快 Java中为什么BufferedReader,BufferedWriter要比FileReader 和 FileWriter高效? 问题来自于:https://www.zhihu.com/question/29351698 其中R大的一个回答: 现在我们可以通过实验来说明这个问题: 环境:CentOS 7, jdk1.8 首先,写一个不带buffer的代码 static byte[] data =…