[英]Is it possible to sort 3 GB of java on 32 bit system using JAVA
我一直在学习一些与内存相关的基本概念。
假设如果要排序的数据超过3 GB,那么可以在32位系统或32位JVM上对其进行排序。
该堆必须完全驻留在RAM中还是可以驻留在硬盘中?
在32位系统中,您绝对可以对3GB以上的数据进行排序。
诀窍是选择一种不需要同时在内存中分配整个数组的排序算法。 实现此目的的一种方法是使用“桶排序”,“外部合并”排序或“分而治之”排序算法,这些算法不需要一次将整个数据集加载到内存中。
通常,分治法将原始数据(例如,您有40 GB的数据)分成较小的段(例如,每个1 GB),分别对每个段进行排序,然后合并这些段,直到数据完全排序为止。
在这篇文章中查找类似排序算法的链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.