内存流与管道流 | 学习笔记

简介: 快速学习内存流与管道流。

开发者学堂课程【Java 面试疑难点串讲1:面试技巧及语言基础:内存流与管道流】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/24/detail/521


内存流与管道流

内容介绍

一、内存流与管道流

一、内存流与管道流

什么叫内存流与管道流的学习。

首先明确一个问题,在 Java 里面,IO 的设计是非常全面的,千万不要简单的认为 Java IO 问题复杂化了,恰恰是因为 IO 的问题在许多语言里面都没有提供如此之多的支持类库。

C++缔造了 Java,然而需要清楚的是 CC++ 本质上对于 IO 实现都是非常麻烦的(学习 C C++的时候最痛苦的事情在于“ IO 操作搞不明白")。

内存是直接基于程序内存做的一种简单的IO处理,可以把内存想象为文件,但是这个文件不会出现在磁盘上,所以内存流是在需要产IO的情况下,但是又不希望产生实际的存储文件的时候所采用的一种 IO 方案。

管道最早是来自于 Unix 系统中的一个概念,指的是两个进程之间的通讯关系,同一个程序由于运行的进程不同,所以其拥有各自的数据存储空间。

Java 并没有进程的开发( Python 提供有多进程开发、还提供协程开发),多线程和多进程之间最大的关系在于若干个线程能够共享这一个进程上的所有数据,但多进程的数据,每一个进程有每一个进程的空间存储,彼此不相关,所以为了保证两个进程之间可以互相的沟通,提供有了管道流的概念,而 Java 是多线程的编程语言,所以就只有在多线程的结构上使用了管道的概念。

 

相关文章
【深入理解计算机系统】int 不是整数 | float 不是实数 | 内存引用错误的例子 | 学习笔记
【深入理解计算机系统】int 不是整数 | float 不是实数 | 内存引用错误的例子 | 学习笔记
75 0
|
4月前
|
存储 程序员 编译器
c++学习笔记08 内存分区、new和delete的用法
C++内存管理的学习笔记08,介绍了内存分区的概念,包括代码区、全局区、堆区和栈区,以及如何在堆区使用`new`和`delete`进行内存分配和释放。
48 0
|
6月前
|
存储 编译器 C语言
【C++】学习笔记——内存管理
【C++】学习笔记——内存管理
56 15
|
6月前
|
存储 C++
C primer plus 学习笔记 第12章 存储类别、链接和内存管理
C primer plus 学习笔记 第12章 存储类别、链接和内存管理
|
存储 缓存 Linux
计算机操作系统学习笔记(5)——内存管理
计算机操作系统学习笔记(5)——内存管理
113 0
|
NoSQL Redis
Redis学习笔记-内存碎片对性能的影响
Redis学习笔记-内存碎片对性能的影响
103 0
|
存储 缓存 算法
十五、Linux性能优化实战学习笔记 - Linux内存是怎么工作的
内存管理也是操作系统最核心的功能之一。内存主要用来存储系统和应用程序的指令、数据、缓存等
304 1
|
存储 缓存 NoSQL
二十一、Linux性能优化实战学习笔记- 如何“快准狠”找到系统内存的问题?
已用内存、剩余内存、共享内存、可用内存、缓存和缓冲区的用量。
136 0
|
存储 缓存 Linux
十八、Linux性能优化实战学习笔记- 内存泄漏了,我该如何定位和处理?
当进程通过 malloc() 申请虚拟内存后,系统并不会立即为其分配物理内存,而是在首次访问时,才通过缺页异常陷入内核中分配内存.对应用程序来说,动态内存的分配和回收,是既核心又复杂的一个逻辑功能模块。管理内存的过程中,也很容易发生各种各样的“事故”.
120 0
|
存储 缓存 BI