如何使使用Eclipse的体验更快?
例如:我禁用了所有我不需要的插件(Mylyn, Subclipse,…)
我没有为Mercurial使用插件,而是将TortoiseHG配置为一个外部工具。
如何使使用Eclipse的体验更快?
例如:我禁用了所有我不需要的插件(Mylyn, Subclipse,…)
我没有为Mercurial使用插件,而是将TortoiseHG配置为一个外部工具。
当前回答
对Eclipse速度影响最大的三个因素是:
使用最新版本的Eclipse(2020-06截至2020年6月26日) 请注意David balaicic的评论(2014年7月)与六年前的标准相矛盾:
Indigo (3.7.2) SR2中“相同”的工作空间在4秒内加载,Kepler SR2(4.3.2)在7秒内加载,Luna(4.4.0)在10秒内加载。它们都是Java EE包。新版本有更多捆绑的插件,但趋势仍然很明显。(我所说的“相同”工作空间是指:使用相同的(额外安装的)插件,从版本控制中检出相同的项目)。
使用最新的JDK启动它(在撰写本文时使用Java 14,这并不妨碍您在Eclipse项目中使用任何其他您想要的JDK: 1.4.2、1.5、1.6旧版本……) vm jdk1.6.0_10 \ jre \ bin \ client \ jvm.dll 配置eclipse.ini(有关完整的eclipse.ini,请参阅这个问题) -Xms512m -Xmx4096m […]
Xmx参数是Eclipse将获得的内存量(简单来说)。使用-Xmx4g,它可以获得4gb的RAM,等等。
注意:
引用jvm.dll有以下优点:
启动画面很快就会出现。 进程列表中的Eclipse.exe,而不是java.exe。 防火墙:Eclipse需要访问Internet而不是Java。 窗口管理品牌问题,特别是在Windows和Mac上。
2020年12月,Udo符合评论
From version 4.8 (Photon) an up there was a steady speed gain after each version. The main platform was optimized every release to load faster, enable more features for the dark theme and to add more features for newer Java versions for the Java development tools. Especially with-in the last 3 versions the startup time was increased a lot. There should be a significant increase in start-up time with the newest version of Eclipse 2020-12. In my experience it started a lot faster with each new version. But: There are still plug-ins which do not follow the new way of using the Eclipse API and are therefore still slow to start. Since the change to Java 11 as the minimum runtime version starting from Eclipse version 2020-09 at least the core system uses the newer features of the JVM. It is up to the providers of the other plug-ins to upgrade to newer APIs and to use the full power of modern CPUs (e.g. concurrent programming model).
另请参阅
为Eclipse提供正确数量的线程和正确数量的内存:问题:Eclipse和Eclipse索引器占用了我所有的资源/ CPU%
其他回答
通过增加堆空间和更改垃圾收集器设置来加速Eclipse,我尝试了许多方法。
但就我的本地开发而言,我认为禁用JVM垃圾收集器最适合我。
Mylyn的自动补全功能工作起来没有问题,(未响应)部分已被显著地最小化。
下面是eclipse.ini文件的快照。
-vm
--C:\JAVA\jre\bin\server\jvm.dll
C:\JAVA8x64\jre\bin\server\jvm.dll
-vmargs
-Xnoclassgc
-Dosgi.requiredJavaVersion=1.6
-Xms256m
-Xmx1024m
我尝试过使用JDK 6和JDK 8,在这两种情况下,都注意到显著的加速。
如果Eclipse运行缓慢,我遵循以下几个步骤:
Any unused plugins installed in Eclipse, should uninstall them. -- Few plugins makes a lot much weight to Eclipse. Open current working project and close the remaining project. If there is any any dependency among them, just open while running. If all are Maven projects, then with miner local change in pom files, you can make them individual projects also. If you are working on independent projects, then always work on any one project in a workspace. Don't keep multiple projects in single workspace. Change the type filters. It facilitates to specify particular packages to refer always. As per my experience, don't change memory JVM parameters. It causes a lot of unknown issues except when you have sound knowledge of JVM parameters. Un-check auto build always. Particulary, Maven project's auto build is useless. Close all the files opened, just open current working files. Use Go Into Work sets. Instead of complete workbench. Most of the components of your application you can implement and test in standalone also. Learn how to run in standalone without need of server deploy, this makes your work simple and fast. -- Recently, I worked on hibernate entities for my project, two days, I did on server. i.e. I changed in entities and again build and deployed on the server, it killing it all my time. So, then I created a simple JPA standalone application, and I completed my work very fast.
在特殊情况下,性能差可能是由于损坏了h2或nwire数据库。有关更多信息,请阅读加速Eclipse PDT和nWire的五个技巧。
在我工作的地方,我们依赖虚拟机来运行Debian。出于测试目的,我已经在VM上安装了另一个Eclipse版本,但如果我运行的是另一个Eclipse版本,有时会产生冲突。有一个两个Eclipse版本共享的共享文件夹。有一次我不小心让Debian Eclipse安装在后台运行,结果导致数据库文件损坏。
禁用标签装饰可以获得另一种性能提升 (Windows ->首选项;概述->外观->标签装饰) 在启动时禁用未使用的功能 (Windows ->首选项;一般->启动和关闭)。
您还可以根据JVM选择不同的垃圾收集策略来获得额外的性能。
如果你厌倦了重启周期,你可以使用ZeroTurnaround的JavaRebel。这将缩短重启服务器/客户端的时间。
我们使用GIT作为CVS, gradle作为构建工具。
症状
在我的案例中,一个具有> 20 000个文件的特定项目在导航具有大量文件的目录时使用分层视图冻结。
Fix
创建新的Eclipse工作区 将项目重新克隆到Eclipse工作区中 将项目导入Eclipse(在本例中使用Gradle导入)