Rob*_*obz 9 java heap mergesort scalability
我编写了一个java程序,用于测试具有不同处理器数量的不同机器上的几个多线程算法的速度.
在某些机器上,merge sort*失败,因为它需要一个相当大的堆空间来处理非常大的数组.在运行程序之前,我可以自己轻松地更改java堆空间,但我觉得更强大和简单的方法是从程序本身执行此任务.
有没有办法在java程序的过程中从虚拟机请求/获得更多的堆空间?
注意:我确实理解我可以用"java -Xmx1g Program"这样的脚本执行程序; 我对这个问题的好奇心部分是学术性的.
*我的实现不会在线合并.它需要O(n)额外的内存.
据我所知,没有办法在运行时控制堆大小.
但是可能没有必要:您可以分别使用-Xms和-Xmx开关提供最小和最大堆大小.(例如-Xms128m -Xmx512m)jvm将管理这些边界内的实际堆大小.
| 归档时间: |
|
| 查看次数: |
3066 次 |
| 最近记录: |