在本教程中,我们将展示如何在同一台机器上运行的两个或更多JVM之间共享内存。这种能力实现了非常快速的进程间通信,因为我们可以在没有任何I/O操作的情况下移动数据块。
任何在现代操作系统中运行的进程都会获得所谓的虚拟内存空间。我们称之为“虚拟”,因为它看起来像是一个大型的、连续的、可私有寻址的内存空间,实际上它是由遍布物理RAM的页面组成的。这里,“页面”只是操作系统术语,指的是一块连续的内存,其大小范围取决于所使用的特定CPU架构。对于x86-64,页面可以小至4KB或大至1GB。
在给定时间,只有这个虚拟空间的一部分实际上被映射到物理页面。随着时间的推移,当进程开始为其任务消耗更多内存时,操作系统开始分配更多的物理页面,并将它们映射到虚拟空间。当对内存的需求超过物理上可用的内存时,操作系统将开始将当前未使用的页面交换到二级存储中,以为请求腾出空间。
大约 10 分钟