【问题标题】:Eclipse is very slow when using Code Assist (org.eclipse.mylyn.java.ui.javaAllCompletionProposalComputer)Eclipse 在使用 Code Assist 时非常慢 (org.eclipse.mylyn.java.ui.javaAllCompletionProposalComputer)
【发布时间】:2010-01-22 14:29:36
【问题描述】:

你能猜出会发生什么吗?

我使用 Eclipse WTP [Axis2] 生成了一个客户端存根,并且正在处理 一个客户端,当 Eclipse 尝试使用 Code Assist 时,它的工作速度非常缓慢, 也就是说,按一个点来获取方法列表, 工作台最多有 30 秒挂断。

eclipse.buildId=M20090917-0800 java.version=1.6.0_15 java.vendor=Sun Microsystems Inc. BootLoader 常量:OS=win32、ARCH=x86、WS=win32、NL=ru_RU 框架参数:-product org.eclipse.epp.package.jee.product 命令行参数:-os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product

警告 2010 年 1 月 22 日星期五 16:40:51 来自“org.eclipse.mylyn.java.ui”插件的“org.eclipse.mylyn.java.ui.javaAllCompletionProposalComputer”提案计算机未正常完成。扩展程序从“computeCompletionProposals()”操作返回的时间过长。

【问题讨论】:

标签: eclipse axis2 mylyn


【解决方案1】:

我在使用 eclipse.ini 并将 XXMaxPermSize 翻倍至 512M。据孙说:

MaxPermSize 指定永久代堆的最大大小,永久代堆是存放类和方法等对象的堆。

就像魔术一样,悬念消失了。如果 Eclipse 使用永久代堆来存储/排序候选内容以进行 Content Assist 并在堆过载时崩溃,我不会感到惊讶。

【讨论】:

  • 我认为您误解了对 PermGen 堆的解释。
【解决方案2】:

我遇到了同样的问题。增加堆,更改虚拟机,没有任何效果。直到我发现我的依赖项之一是通过网络驱动器共享的库。我在本地复制了 JAR 并更改了依赖项。我的挂起时间消失了。

【讨论】:

    【解决方案3】:

    我也有同样的问题。这是由于工作区中的错误。我的解决方案是摆脱错误工作区,切换到另一个工作区文件夹并再次导入我的项目。

    【讨论】:

      【解决方案4】:

      对于那些感兴趣的人来说: 我找到的唯一解决方案是回到 Ganymede(今天的最新版本是 Galileo 3.5.1)。

      我尝试了 Galileo Classic 和 Galileo 3.5.1 Java EE,它们都是新下载的,但都不能与该项目一起使用。 Eclipse 挂了,占用了 100% 的 CPU 资源。

      Ganymede 工作正常。

      【讨论】:

        【解决方案5】:

        如果不使用 Mylyn,另一种解决方案可能是在启动时禁用 Mylyn 插件的自动激活:Window -> Preferences -> General -> Startup and Shutdown

        这是为我做的。

        【讨论】:

          猜你喜欢
          • 2020-06-23
          • 1970-01-01
          • 2021-12-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-20
          • 2011-08-23
          相关资源
          最近更新 更多