用Runtime Spy调整Eclipse的启动性能,第1部分 - 开始 - 编程入门网
码,让您充分认识到执行它的代价。这个故事的寓意 通常是“启动时做的太多了”。
用Runtime Spy调整Eclipse的启动性能,第1部分 - 开始(3)时间:2010-12-02 IBM Dan Kehn追踪一个类为什么被加载 要更清楚地了解是什么导致了一个插件的激活或者一个类的加载,首先您必 须为引起您关注的类所在的插件或者包启用追踪选项。在这个例子中,我创建了 一个 traces.properties 文件,其中一行为 packages=org.eclipse.jface.text 。然后您需要: 在 Activated Plugins 列表中选择 org.eclipse.jface.text 插件。 按下 按钮以更新 Loaded Classes 列表。 选择 org.eclipse.jface.text.ITextViewer 类。 选择 按钮来更新 Stack Trace 视图。 这将显示出哪些代码让类加载器加载了那个类(如果在这之前它还没有被加 载)并激活了选中的插件,如图 5 所示。 图 5. Runtime Spy 中显示的 Stack Trace 视图 栈顶通常不值得关注,因为那追踪的是类加载器代码本身。有用的信息在中 下部。在这个例子中,栈记录显示,是由于 Runtime Spy 透视图的打开而最终 导致了 ITextViewer 类的加载,如高亮的栈记录行底部所示。透视图打开的初 始化视图中包括 Plugin Datasheet 视图,这个视图将用 JFace Text 类 TextViewer 来显示它的数据。在 defineClass 期间核实那个类时,JVM 发现还 需要 ITextViewer ,因为 TextViewer 实现的是这一接口。如您可以看到的, JVM 运行期的类加载可以嵌套得相当深;出于性能目的您通常应该关注那些引起 类加载器调用的代码,像图 5 中显示的栈记录的高亮部分。 用Runtime Spy调整Eclipse的启动性能,第1部分 - 开始(4)时间:2010-12-02 IBM Dan Kehn追踪插件为什么被加载 上一个例子说明了一个特定类为什么会被加载。您还可以查看一个给定的插 件为什么被加载,但是插件的激活原因看起来不是那么明显,因为起因是间接的 。一般情况下,类是由于被另一个类的方法引用而被加载(并且您还可以参考相 应的 import 语句),与之不同,插件的加载是一些间接引用的结果。不要忘记 ,我们的目的是,不到插件被用到的时候尽量不去加载它,所以对插件本身的引 用这样实现: 显示地声明标识,比如插件清单中的 <import plugin="org.eclipse.ui"> ,或者 隐式地标识,比如为那个插件导出包到运行期 JAR 中。 这两个例子都在“Hello, Eclipse”插件清单节选中突出显示了,见清单 1 。 清单 1. “Hello, Eclipse”的扩展点样例
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |