发表于: 2017-12-25 23:21:58

1 596


今天做的事情:


               上午准备小课堂,又复习一遍IO流。


              

         流的概念可能比较抽象,可以想象一下水流的样子。

  io在本质上是单个字节的移动,而流可以说是字节移动的载体和方式,它不停的向目标处移动数据,我们要做的就是根据流的方向从流中读取数据或者向流中写入数据。

  想象下倒水的场景:倒一杯水,水是连成一片往地上流动,而不是等杯中的水全部倒出悬浮在空中,然后一起掉落地面。最简单的Java流的例子就是下载电影,肯定不是等电影全部下载在内存中再保存到磁盘上,本质上是下载一个字节就保存一个字节。

  一个流,必有源和目标,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL。流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流。我们从输入流读取数据,向输出流写入数据。


      Java对io的支持主要集中在io包下,显然可以分为下面两类:

  1. 基于字节操作的io接口:InputStream 和 OutputStream
  2. 基于字符操作的io接口:Writer 和 Reader


    

         比较重点是这个:

ByteArrayInputStream、CharArrayReader为多线程的通信提供缓冲区操作功能。常用于读取网络中的定长数据包
ByteArrayOutputStream、CharArrayWriter为多线程的通信提供缓冲区操作功能。常用于接收足够长度的数据后进行一次性写入
FileInputStream、FileReader把文件写入内存作为输入流,实现对文件的读取操作
FileOutputStream、FileWriter把内存中的数据作为输出流写入文件,实现对文件的写操作
StringReader读取String的内容作为输入流
StringWriter将数据写入一个String
SequenceInputStream将多个输入流中的数据合并为一个数据流
PipedInputStream、PipedReader、PipedOutputStream、PipedWriter管道流,主要用于2个线程之间传递数据
ObjectInputStream读取对象数据作为输入流对象中的 transient 和 static 类型的成员变量不会被读取或写入
ObjectOutputStream将数据写入对象
FilterInputStream、FilterOutputStream、FilterReader、FilterWriter过滤流通常源和目标是其他的输入输出流,大家可以看到有众多的子类,各有用途,就不一一介绍了

          

          可以说把上面这个表中的类熟悉之后,对I/O流是了如指掌。


          还有一个扩展点,关于Socket , 当你用QQ进行聊天时,QQ进程如何与服务器或你好友所在的QQ通信?这些靠socket吗?什么是scoket?              

                 socket的基本操作
  • 3.1、socket()函数
  • 3.2、bind()函数
  • 3.3、listen()、connect()函数
  • 3.4、accept()函数
  • 3.5、read()、write()函数等
  • 3.6、close()函数


             

              本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:

  • 消息传递(管道、FIFO、消息队列)
  • 同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)
  • 共享内存(匿名的和具名的)
  • 远程过程调用(Solaris门和Sun RPC)


   

           还有看了一篇关单点登陆的博客。


         简介:单点登陆,(Single Sign On ,简称SSO)是目前比较行的服务于企业业务整合的解决意思之一,SSO使得多个应用中,用户只需要登录一次就可以所有相互信任的应用系统。


                本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:

  • 消息传递(管道、FIFO、消息队列)
  • 同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)
  • 共享内存(匿名的和具名的)
  • 远程过程调用(Solaris门和Sun RPC)



              晚上圣诞,过的挺有意思和意义的一次。圣诞快乐!



遇到的问题:



               无



收获:



              了解IO流,Socket, SSO








返回列表 返回列表
评论

    分享到