我在计算机科学中问了这个问题并被标记为“偏离主题”,并被告知要在此处发布。所以,这就是......
最近,我将开发环境从Java 6升级到Java 8.在编译期间(超过4,000个源文件),在使用Java 8编译时遇到了OutOfMemory错误。为了解决这个问题,我不得不增加我的ANT javac任务的memoryMaximumSize属性值从512m到1024m。
使用任务管理器检查流程时,我可以看到为什么需要进行上述更改。编译过程内存利用率从大约480 MB到大约960 MB。我有点犹豫不决地盲目地实施这一改变。所以,我想知道:
为什么需要进行此更改?
在使用更多内存的Java 8编译器中发生了哪些变化?
当与Java 8一起使用时,旧的ANTLR效率是否低效?(这是我所相信的)
我的环境:
如果你想知道为什么是32位,我们有一些32位的遗留DLL而且无法替换(现在)。