让我们说金钱不是限制因素,我想编写一个在一台强大机器上运行的Java程序。
目标是让Java程序尽可能快地运行,而无需交换或转到磁盘。
假设这台电脑有:
在JVM中运行的java程序的单个实例是否可以利用这么多RAM和处理器?
是否存在可能限制使用和效率的实际考虑因素?
常规可执行文件(即C程序)是否可以利用上述规范?
谢谢, 盖伦
答案 0 :(得分:4)
是的,JVM可以利用那么多RAM和处理器。事实上,我有一台机器,其配置与您描述的几乎相同,只不过它正在运行RedHat。请记住,您的应用程序需要多线程才能使用所有处理器内核。
至于硬件限制,总会有缓存问题变得非常复杂,但经验法则是,如果所有线程都是随机访问RAM的多个区域,则可能会降低缓存一致性。如果它们大致相同的RAM区域,那么你可能会获得更好的缓存命中率。
对于细节,很高兴知道你计划编写什么类型的应用程序。