是否可以使用java在32位系统上对3GB的java进行排序



我一直在学习一些与记忆相关的基本概念。

比方说,如果我有超过3 GB的数据要排序,那么是否可以在32位系统或32位JVM上对其进行排序。

这个堆必须完全驻留在RAM中,或者也可以驻留在硬盘中?

在32位系统中,您可以对超过3GB的数据进行排序。

诀窍是选择一种排序算法,它不需要同时分配内存中的整个数组。实现这一点的一种方法是使用Bucket Sort、External Merge Sort或不需要一次将整个数据集加载到内存中的分治排序算法。

一般来说,分治算法的工作原理是将原始数据(假设您有40GB的数据)拆分成更小的段(例如,每个段1GB),对每个段单独排序,然后合并这些段,直到数据完全排序。

查看这篇文章的链接到类似的排序算法。

最新更新