为什么在使用javascript自动完成时,我在Eclipse中收到消息:“未处理的事件循环异常Java堆空间”?

2022-09-01 11:52:11

当我尝试使用任何javascript模板时,Eclipse总是挂起,我在弹出窗口中收到以下消息:“未处理的事件循环异常Java堆空间”。

我为 Eclipse 进程和 Java 进程启动了一个 top 命令(使用 Ubuntu),然后尝试在 Eclipse 上使用自动完成命令。我注意到Java进程将我的CPU降低到100%,而内存保持不变(大约22%)。

我得到了这个,没有对我的Eclipse IDE进行任何先前的更改...

关于如何解决这个问题的任何想法?

编辑:我还注意到,在首选项窗口中:Javascript / Content Assist / Advanced选中了“其他Javascript提案”选项。如果未选中,问题就解决了。但是,它缺少变量和对象的内容辅助。所以这部分解决了我的问题。


答案 1

对于任何 Eclipse 用户来说,此错误都是“经典”错误。打开在其中放置日食的文件夹。在那里,编辑“eclipse.ini”文件。

找到有“-vm”的行。在此行下,您有三个内存的通用设置。总之:

  • “Xms”是分配给虚拟机的最小内存量。
  • “Xmx”是最大数量。
  • “最大PermSize”是分配给虚拟机的permgen的内存量。

此处错误消息的异常意味着java已达到其最大内存设置,但它需要更多。在这种情况下,Java占用100%的CPU是“正常的”:垃圾回收器正在全职工作。您要编辑的一个设置是“Xmx”,它将为Java提供更多的内存,但是将其他两个设置得更高一点也没有什么坏处。我通常的设置是:

  • -Xms256m
  • -Xmx1024米
  • -XX:最大商品大小=256米

答案 2

我设法找到了问题。我暂时将一些js文件移动到我的项目中(其中一些复制了原始文件),并且自动完成搜索了太多文件。所以我像这样更改了src文件夹:

  • 右键单击项目
  • 选择属性
  • Javascript
  • 包含路径
  • 在源选项卡上,我排除了重复的文件/文件夹以及一些我不想在自动完成时使用的文件/文件夹。

这解决了我的问题,我的Eclipse现在在自动完成时速度很快。