JAVA基础-IO
文章平均质量分 80
changhenshui1990
这个作者很懒,什么都没留下…
展开
-
深入理解JAVA I/O系列一:File
I/O简介 I/O问题可以说是当今web应用中所面临的的主要问题之一,大部分的web应用系统的瓶颈都是I/O瓶颈。这个系列主要介绍JAVA的I/O类库基本架构、磁盘I/O工作机制、网络I/O工作机制以及NIO的工作方式。 从1.4版本开始JAVA引入了NIO,用来提升I/O性能。I/O操作类在包java.io下,大概有将近80个类,这些类可以分为如下四组: 基于字节操作的I/O接口:Input...转载 2018-03-01 11:21:57 · 165 阅读 · 0 评论 -
深入理解JAVA I/O系列二:字节流详解
流的概念 JAVA程序通过流来完成输入/输出。流是生产或消费信息的抽象,流通过JAVA的输入输出与物理设备链接,尽管与它们链接的物理设备不尽相同,所有流的行为具有相同的方式。这样就意味一个输入流能够抽象多种不同类型的输入:从磁盘文件、从键盘或从网络套接字;同样,一个输出流可以输出到控制台、磁盘文件或相连的网络。 在我们平时接触的输入/输出流中,有这样一个概念必须要弄明白,何谓输入、何谓输出?...转载 2018-03-01 11:23:05 · 167 阅读 · 0 评论 -
深入理解JAVA I/O系列四:RandomAccessFile
一、简述 这个是JDK上的截图,我们可以看到它的父类是Object,没有继承字节流、字符流家族中任何一个类。并且它实现了DataInput、DataOutput这两个接口,也就意味着这个类既可以读也可以写。二、存在的意义1、是JAVA I/O流体系中功能最丰富的文件内容访问类,它提供了众多方法来访问文件内容。2、由于可以自由访问文件的任意位置,所以如果需要访问文件的部分内容,RandomAcces...转载 2018-03-01 11:24:50 · 193 阅读 · 0 评论 -
深入理解JAVA I/O系列五:对象序列化
序列化对象序列化的目标是将对象保存到磁盘中,或者允许在网络中直接传输对象。对象序列化机制允许把内存中的JAVA对象转换成跟平台无关的二进制流,从而允许将这种二进制流持久地保存在磁盘上,通过网络将这种二进制流传输到另一个网络节点,其他程序一旦获得了这种二进制流,都可以讲二进制流恢复成原来的JAVA对象。序列化为何存在我们知道当虚拟机停止运行之后,内存中的对象就会消失;另外一种情况就是JAVA对象要在...转载 2018-03-01 11:25:45 · 190 阅读 · 0 评论 -
深入理解JAVA I/O系列三:字符流详解
字符流为何存在既然字节流提供了能够处理任何类型的输入/输出操作的功能,那为什么还要存在字符流呢?容我慢慢道来,字节流不能直接操作Unicode字符,因为一个字符有两个字节,字节流一次只能操作一个字节。如果JAVA不能直接操作字符,我会感到JAVA对这个世界满满的恶意,所以提供对直接的字符输入/输出的支持是很有必要的,因为我们的口号是:一次编写,到处运行。字符流的概念输出字符流:把要写入文件的字符序...转载 2018-03-01 11:27:07 · 158 阅读 · 0 评论 -
深入理解JAVA I/O系列六:Linux中的IO模型
IO模型 linux系统IO分为内核准备数据和将数据从内核拷贝到用户空间两个阶段。 这张图大致描述了数据从外部磁盘向运行中程序的内存中移动的过程。用户空间、内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟储存空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不...转载 2018-03-01 11:35:02 · 217 阅读 · 0 评论 -
JAVA回顾(1):Serializable接口的意义和用法
通常我们在编辑是实体类时,会引用serializable接口import java.io.Serializable; public class Persion implements Serializable {}百度上是这么讲的:Serializable接口是启用其序列化功能的接口。实现java.io.Serializable 接口的类是可序列化的。没有实现此接口的类将不能使它...原创 2019-05-13 14:38:54 · 267 阅读 · 0 评论