流是什么?流,是一个很重要的概念,暂时理解为流是Java通信中一个很抽象的机制,代表一个单向通道的一个端点。可以从通信通道中读出数据,也可以向通信通道中写入数据。流分两类:输入流和输出流。
什么是通信通道?一般通信通道通常可以将输出流与对应的输入流连接起来,所有写入输出流的信息都能依次从输入流中读取出来。这个连接可以是这几种方式:网络连接、不同进程之间的内存缓冲区、文件等。
有些说法,叫这个也可叫做一种数据源,这些数据源,我们分成而下的几种,字节数组,String对象,文件,管道,工作方式与实际管理相似,其它的数据源如Internet连接。对应每个数据源都会有相对应的子类。
为什么要用流呢?流为应用程序提供一个统一的数据接口,而不用考虑具体使用什么样的通信通道。
java的流是怎样的?都在I/O类由java.io包提供。
有什么特点?
1.先进先出
2.顺序存取【一个接一个地写入一串字节】
3.只读或只写【输出流将数据写入通道,输入流从通道中读出数据】
对于一个网络中,打一个网络连接,实际上是获得了两个流,一个是从网络中读取数据的输入流,而另一 个则是数据写入到网络的输出流。
4.阻塞
阻塞是线程进入了睡眠状态,什么原因让线程进入睡眠呢?有两个情况,首先想读的数据没有;然后就是想写而不能马上去写。
一个例子,当线程要求我们去输入信息的时候,那它就得等我们真的去敲击键盘去输入信息了,只有输入了信息它才能读到信息,在我们输入信息的过程中,线程是阻塞的。
相对于字节流另一种叫字符流?
字符流以和一般的流传输字节型数据一样的方式传输16位Unicode字符。对于完全基于文本的通信,推荐使用字符流。这里提供了作为字节流和字符流之间的接口的通道转换类。它们可用来连接到非Unicode系统,如本地文件或网络流。这转换类统一性允许文本很容易从Unicode编码方式转换成ASCII,ISO Latin1,字符或其它合适的字节编码方式。
分享到:
相关推荐
这是一款能够实时处理超长视频流并同时响应用户查询的新型 LMM。这是一种专为在线视频流理解而设计的新颖问答基准测试。
谈谈对标准流和文档流的理解,标准流有叫做普通流和文档流, 浮动流的理解,标准流就是从左到右,从上到下的布局
本文将深入探讨Java中的“流”以及与之相关的基础知识,结合博客文章《Java中的那些“流”之JAVA基础知识之我的理解8》的内容进行详细阐述。 首先,我们需要了解什么是流。在Java中,流可以被看作是一组有序的数据...
通过深入理解这些Git工作流,开发团队可以更好地管理代码版本、提高工作效率以及更顺畅地处理团队协作。对于新接触的开发者来说,可以按照Git工作流指南逐步上手,并通过实际操作来加深理解和应用。 PullRequest...
它可以帮助我们全面观察和理解产品通过价值流过程时的物料流动和信息流动,发现浪费和确定需要改善的地方。 价值流图的用途包括: * 帮助我们确认运营流程中存在的潜在浪费活动 * 发现浪费和确定需要改善的地方 * ...
总结来说,数据流图实例PPT结合理论与实践,帮助学习者理解如何运用结构化分析方法来分析和描述信息系统的需求。通过分层数据流图的绘制,可以逐步揭示系统的逻辑结构,为后续的设计和实现提供清晰的蓝图。同时,...
总结起来,"rainflow.zip_igbt 雨流_matlab雨流_雨流结温_雨流计数_雨流计数法"是一个针对IGBT结温分析的MATLAB程序,利用雨流计数法对温度循环数据进行处理,以评估器件的热疲劳状态。通过对“rainflow.m”脚本的...
初学者可以通过阅读和分析这个代码来学习如何用C++实现LBM算法,理解流体流动的数值模拟过程,以及如何设置顶盖驱动流的边界条件。 总的来说,这个资源为学习和实践LBM的初学者提供了一个很好的起点。通过这个C++...
理解 TCP 是面向字节流的协议 TCP(Transmission Control Protocol)是一种面向字节流的协议,而 UDP(User Datagram Protocol)是一种面向报文的协议。那么,什么是面向字节流?什么是面向报文?为什么 TCP 是面向...
对于内容创作者和开发者来说,理解和处理PES流是进行多媒体处理、流媒体传输以及开发相关软件的关键步骤。 总的来说,PES格式流文件是MPEG-2标准的重要组成部分,它提供了一种高效且灵活的方式来传输和处理音视频...
在这个场景中,我们需要理解PS流、RTP包以及它们如何转化为ES流的过程。 PS(Program Stream)流是MPEG-2标准中定义的一种数据格式,主要用于DVD和数字电视等存储媒体。它包含了一个或多个节目,每个节目由连续的 ...
在信息流内容理解技术上,腾讯采取了一系列的解决方案来应对门户时代、搜索时代及智能时代所带来的挑战。在信息推荐领域,内容理解是至关重要的,它直接影响到推荐的准确性和用户的满意度。 首先,从历史背景来看,...
6. **误差分析与收敛性**:理解在PFC流固耦合模拟中如何控制误差,提高计算的稳定性和收敛性,以及如何优化模型参数以获得更精确的结果。 7. **实际应用与案例**:列举PFC流固耦合技术在实际工程中的应用,如地下...
描述中的"可以看码流视频"意味着该工具不仅具备分析能力,还可能提供实时预览功能,允许用户直接观看TS流中的视频内容,以便更好地理解和评估TS流的播放质量。 标签中的“TS”是传输流的缩写,是由国际电信联盟定义...
标题中的“把H264和音频流打包成PS流”指的是将H264视频编码格式和音频流组合成Program Stream(PS)格式的过程。PS流是MPEG-1和MPEG-2的一种容器格式,常用于DVD和其他存储媒体。在数字视频处理中,打包是将编码后...
本练习旨在帮助初学者理解和掌握Java IO流的基础知识。 一、IO流的概念 IO流在Java中分为两大类:输入流(Input Stream)和输出流(Output Stream)。输入流用于从源(如文件、网络连接等)读取数据,而输出流则...
在本文中,我们将深入探讨如何使用live555库实现实时流...通过理解RTSP协议的工作原理和live555库的API,我们可以构建出高效稳定的流媒体服务。在阅读和理解提供的代码文件后,你将能够更好地掌握整个系统的运作流程。
首先,我们需要理解工作流模型的定义。这通常通过流程定义语言(如BPMN - Business Process Model and Notation)来完成,它提供了一套图形化的符号和元素来描绘流程。在Java实现中,这可能涉及到读取BPMN文件并将其...
在IT行业中,尤其是在视频监控和流媒体应用领域,获取视频流源代码是一项关键的技术任务。本文将详细讨论如何使用C#编程语言实现从高清摄像机获取...通过理解这些知识点,开发者可以构建出高效且可靠的视频流处理系统。