我只是因为好奇而问这个问题。用MemoryStream写的数据在哪里? 这个链接告诉我们,
创建其后备存储为内存的流。
我不得不问,它是什么类型的内存?是RAM还是ROM?我在谷歌搜索但没有找到直接的答案。我看到的每个地方都说数据写在内存中,但没有人清楚地谈论内存的类型。
答案 0 :(得分:8)
基本上,它包装了byte[]
,它根据需要调整大小(通过复制) - 所以本地托管堆内存。
虽然技术上是一个实现细节;如果它使用非托管内存的非托管指针或内存映射文件(尽管那时它无法提供GetBuffer()
方法),它的工作方式将完全相同。
答案 1 :(得分:5)
它存储在堆中的RAM中。在Windows上运行的每个进程都在RAM中获得自己的内存虚拟地址空间。部分内存用于存储进程的指令,部分用于堆和堆栈,它们是程序用来存储变量的内存部分。