【发布时间】:2014-04-03 21:05:55
【问题描述】:
我已经阅读了很多提到数据流的书籍和文章,我主要在 Java 中使用这些数据流,但没有一篇真正提到数据流到底是什么。内存中的数据是否以字节连续对齐? 额外的问题:套接字呢?它在内存中是如何准确表示的,又是如何连接到硬件输入/输出的?
【问题讨论】:
标签: sockets memory stream hardware
我已经阅读了很多提到数据流的书籍和文章,我主要在 Java 中使用这些数据流,但没有一篇真正提到数据流到底是什么。内存中的数据是否以字节连续对齐? 额外的问题:套接字呢?它在内存中是如何准确表示的,又是如何连接到硬件输入/输出的?
【问题讨论】:
标签: sockets memory stream hardware
Java 流是一种抽象:只是您可以读取或写入的东西。它通常由外部资源(如文件或套接字)支持。每个流的血腥细节,有几十个,请参阅源代码。真正符合您描述的“内存地址序列”的仅有两个流是ByteArrayInputStream 和ByteArrayOutputStream.
套接字是通信的端点。在内部,它是内核中的一种数据结构,它“连接”到网络协议栈,而后者又连接到一个或多个网络接口卡 (NIC)。
【讨论】: