Eclipse的启动耗时插件
最近在看周志明老师的《深入理解Java虚拟机》
,其中提到了关于Eclipse
的性能调优,涉及到查看启动时间,需要编写一个查看Eclipse
启动时间的插件,于是参考作者提供的代码,自己编写了一个,将其记录下拉作为笔记。
创建工程
首先通过New-->Project-->Plug-in Project
创建新的项目。
此处不需要设置,直接点击Next
,进入到一下个页面;
上图的标记处需要勾选,然后直接点击Finish
,创建完成。
创建plugin.xml
右键项目名称,在项目目录下创建plugin.xml
文件。
向文件中添加如下代码块:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.5"?>
<plugin>
<extension point= "org.eclipse.ui.startup">
<startup class= "cn.lincain.starttime.ShowTime" />
</extension>
</plugin>
修改MANIFEST.MF
将文件中Bundle-SymbolicName: cn.lincain.starttime
改为
Bundle-SymbolicName: cn.lincain.starttime;singleton:=true
创建ShowTime.java
创建ShowTime.java
,并实现org.eclipse.ui.IStart
接口。
代码如下:
package cn.lincain.starttime;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IStartup;
public class ShowTime implements IStartup {
@Override
public void earlyStartup() {
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
long eclipseStartTime = Long.parseLong(System.getProperty("eclipse.startTime"));
long costTime = System.currentTimeMillis() - eclipseStartTime;
Shell shell = Display.getDefault().getActiveShell();
String message = "Eclipse start in " + costTime + "ms";
MessageDialog.openInformation(shell, "Information", message);
}
});
}
}
测试打包
然后进行测试,右键项目名称-->Run As-->Eclipse Application
,弹出一个新的Eclipse窗口和时间显示窗口,恭喜创建成功。
最后,通过右键项目名称-->Exprot-->Deployable plug-ins and fragments
将该工程导出打包。
找到打包的文件,将其中的jar
包复制到eclipse
安装路径的plugins
文件下。
重启Ecplise即可实现对其启动时间的查看。