内存不够用时是否可以用文件来模拟内存

一个32位的程序如果需要用4.1g内存,可不可以创建一个文件,不关闭,一直读写这个文件,来模拟内存,这样对磁盘影响大吗?另外如果一个文件不close的话是不是写入的数据就还没持久化到硬盘

1.如果你的一个程序需要用到4.1g内存,要么是你的数据设计的完全不合理,该放数据库的数据你全塞内存里,要么就是平台限制,比如用unity写3d,加载一下场景可能就5个g了,你怎么把一部分场景放文件里?你需要大内存就给硬件增加大内存啊,搞什么文件模拟内存是不靠谱的行为
2.执行了write就直接写入文件了,只不过不close的话文件是被占用的状态,无法删除,也可能导致别的软件想写入它时无法写入,具体还要看你是否是以独占的方式打开的
3.具体到windows和linux又不一样,linux默认是异步方式写入文件的,也就是说你执行write只是写入了缓冲区,它到底在什么时候写入硬盘是系统自己的事,你控制不了。除非执行同步硬盘的指令可以强行同步。
4.windows和linux自己就有虚拟内存,放在内存里长时间用不到的数据会被移到硬盘文件里去,用的时候再读取回来,你自己要实现虚拟内存别说难度问题,就这bug会多到你受不了,也根本不敢用啊