1M 大文本文件在磁盘和内存中的空间占用
有一份未压缩的文本文件 a.txt,其磁盘存储大小为 1M。如果将 a.txt 读入内存,它会占用多少内存空间?
回答
读入内存后的内存占用可能大于 1M,其中包括:
- 文本本身大小:1M
- 保存文本的对象所占用大小
- 读入文本的运行对象所占用大小
编码差异的影响
如果文件的编码与内存中编码不同,则文本本身所占内存大小可能会有差异。例如,如果原始文件为 UTF-8 编码(字节大小为 172),转换为 GBK 或 UTF16 后,其字节大小分别为 115 和 118。这意味着如果以 GBK 或 UTF16 编码读取,文本本身所占内存大小将小于 1M。