java-IO流
来源:互联网 发布:部落冲突防空升级数据 编辑:程序博客网 时间:2024/06/09 23:20
(一)IO概念
应用程序中,常碰到的运算:CPU运算和IO运算。IO运算是应用程序的瓶颈,磁盘和网络IO操作都较慢。
(二)分类
是否阻塞:普通IO和NIO
数据单位划分:字节流和字符流
数据流方向:输入流和输出流
功能划分:节点流和处理流(处理流利用装饰者模式套接节点流,直接转换字节读取字符,如BufferedOutputStream)
(三)字节流和字符流
字节流是1byte=8bit,字符流是2byte
jdk提供的四个io抽象类:字节流(InputStream和OutputSteam),字符流(Writer和Reader),更多信息参考这篇博文
磁盘和网络传输都是以字节为单位,字符只存在于JVM内存中;直接以字节传输会比较快
(四)输入流和输出流
输入流指从磁盘网络输入数据到程序,输出流指从程序输出数据到磁盘网络
(五)字符和编码
数据持久化和网络数据传输,都是以字节流进行的,所以经常需要进行字符字节相互转换。转换过程中涉及到字符编码解码问题,容易出现乱码。关于编码问题可以参考《深入分析Java中的中文编码问题》。
(六)序列化和反序列化
对象需要序列化转换成二进制流才能进行持久化或传输,需要实现Serializable接口,读取时再反序列化。序列化反序列化可以参考《Java 7之基础 - 序列化与反序列化》。
(七)网络IO性能优化
(1)减少访问网络次数:设置缓存或合并请求
(2)减少网络传输数据量大小:数据压缩
(3)减少编码,直接用字节流传输
(4)合理选用普通IO还是NIO方式
0 0
- JAVA【IO一】IO流
- Java-IO-java的IO流
- java IO 流
- JAVA之IO流
- java IO(字符流)
- java的io流
- JAVA之IO流(
- JAVA 基础IO流
- JAVA 中的IO流
- Java IO 流学习
- JAVA 中的IO流
- Java IO流操作方法。。
- java io流总结
- 转]JAVA IO流
- JAVA IO流
- Java中的IO流
- JAVA IO 流操作
- 详述JAVA IO流
- Java基本数据类型的【取值范围】【占内存大小】【默认值】
- 在Ubuntu上价格SVN服务器
- vi批量替换文本中的字符串
- 数据结构学习笔记之堆栈
- SSH+Oracle 整合错误之5 问题好像吃了炫迈 ,根本停不下来 java.util.NoSuchElementException
- java-IO流
- tomcat eclipse無法自動刷新jsp頁面
- 最大独立集问题
- Cocos2d-x与Android交互(c++与java互调),与IOS交互(c++与objective c混编)
- 【剑指offer】和为定值的两个数
- Javascript 对象方式实现命名参数调用(上):原理和手动实现
- 【存储管理】内核缓冲区的管理概述
- 响应式 jQuery Slider 插件: bxSlider
- DAY20--java中的反射机制常用知识点总结