IT修真院_JAVA

java基础io流

2017-12-25  本文已影响5人  最不闪亮的那颗星

一、背景介绍

Java中I/O流是一种计算机用语。而I/O问题可以说是Web应用中所面临的主要问题之一,因为在这个海量数据时代,数据在网络中随处流动。这个流动都涉及到I/O问题,可以说大部分Web应用系统的瓶颈都是I/O瓶颈。

I/O问题是任何编程语言都无法回避的问题,可以说I/O问题是整个人机交互的核心问题,因为I/O是机器获取和交换信息的主要渠道。在这个数据爆炸的时代,I/O问题尤其突出。

二、知识剖析

IO流的三种分类方式

1.按流的方向分为:输入流和输出流

2.按流的数据单位不同分为:字节流和字符流

3.按流的功能不同分为:节点流和处理流

IO流的四大抽象类

字符流:Reader  Write

字节流:InputStream 读 OutputStream 写

基于字节操作的I/O接口:InputStream 和 OutputStream

基于字符操作的I/O接口:Writer 和 Reader

基于磁盘操作的I/O接口:File

基于网络操作的I/O接口:Socket

三、常见问题

I/O传输过程中的阻塞问题,传输时间长,访问磁盘次数过多。

四、解决方案

通常提升磁盘I/O性能的方法有:

1:增加缓存,减少磁盘访问次数

2:优化磁盘的管理系统,设计最优的磁盘方式策略。这是在底层操作系统层面考虑的。

3:设计合理的磁盘存储数据块,以及访问这些数据块的策略。这是在应用层考虑的。可以给存放的数据设计索引,通过寻址输索引来加快和减少磁盘的访问量,还可以使用异步和非阻塞的方式加快磁盘的访问次数。

五、扩展思考

socket是什么,怎样与别的网络进行通信?

一台计算机要和另一台计算机进行通讯,获取其上应用程序的数据,必须通过Socket建立连接,要知道对方的IP和端口号。建立一个Socket连接需要通过底层TCP/IP协议来建立TCP连接,而建立TCP连接必须通过底层IP协议根据给定的IP在网络中找到目标主机。目标计算机上可能跑着多个应用,所以我们必须要根据端口号来制定目标应用程序,这样就可以通过一个 Socket 实例唯一代表一个主机上的一个应用程序的通信链路了。

六、参考文献

一台计算机要和另一台计算机进行通讯,获取其上应用程序的数据,必须通过Socket建立连接,要知道对方的IP和端口号。建立一个Socket连接需要通过底层TCP/IP协议来建立TCP连接,而建立TCP连接必须通过底层IP协议根据给定的IP在网络中找到目标主机。目标计算机上可能跑着多个应用,所以我们必须要根据端口号来制定目标应用程序,这样就可以通过一个 Socket 实例唯一代表一个主机上的一个应用程序的通信链路了。

IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !

师兄带你入门!

上一篇 下一篇

猜你喜欢

热点阅读