读源码学习equinox启动参数一
2008-01-08 22:52
483 查看
eclipse 3.3使用的是遵循 OSGi 标准的 equinox 实现。
equinox在启动的时候,在处理参数的时候分为几个阶段。
这里首先介绍第一个阶段的三个参数:
1、eclipse.startTime
启动时间,默认取系统的时间。
2、osgi.noShutdown
PROP_NOSHUTDOWN 对应的值就是 osgi.noShutdown
如果值为"true",当eclipse应用程序停止时,Java虚拟机并不退出。这在eclipse应用停止后检查OSGi框架非常有帮助。默认的值为"true"。
3、osgi.compatibility.bootdelegation
OSGI_COMPATIBILITY_BOOTDELEGATION 对应的值是 osgi.compatibility.bootdelegation
如果该参数值为"true",当一个类或资源查找不到时,类加载器会启动父类加载器进行最后的查找。(equinox类加载机制在后面会特别的介绍)
默认的值为"false"。
这些参数被保存在FrameworkProperties.java类中,这个类中的方法全都是静态方法,被用来保存全局的属性.
另外,还有一个非常有意思的参数,经常看到但从来没关注过 :)
在查看源代码的时候,有一个标识:$NON-NLS-1$ 作为注释出现在某些语句后面
在网上查了一下,解释如下:
The string $NON-NLS-1$ is a hint for both the compiler and the Externalization wizard that the first character string on this line is a tag or keyword of some sort and should not be localized. 也就是说$NON-NLS-1$表明本行的第一个string型变量是一个标签或者关键字,不需要被本地化。
部分代码如下:
if (FrameworkProperties.getProperty("eclipse.startTime") == null) //$NON-NLS-1$
FrameworkProperties.setProperty("eclipse.startTime", Long.toString(System.currentTimeMillis())); //$NON-NLS-1$
if (FrameworkProperties.getProperty(PROP_NOSHUTDOWN) == null)
FrameworkProperties.setProperty(PROP_NOSHUTDOWN, "true"); //$NON-NLS-1$
if (FrameworkProperties.getProperty(Constants.OSGI_COMPATIBILITY_BOOTDELEGATION) == null)
FrameworkProperties.setProperty(Constants.OSGI_COMPATIBILITY_BOOTDELEGATION, "false"); //$NON-NLS-1$
全部代码:
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/adaptor/EclipseStarter.java?revision=1.155&view=markup
相关文章推荐
- 读源码学习equinox启动参数二
- chrome源码学习之启动流程简介
- Erlang---启动参数学习/研究
- (转)OpenFire源码学习之四:openfire的启动流程
- oracle ocp 学习day6总结(oracle 启动过程与参数文件)
- erlang---启动参数学习/研究
- 【Spark2.0源码学习】-6.Client启动
- Android 5.1 源码学习之SurfaceFlinger的启动(一)
- PHP SAPI CLI启动流程结合mysql扩展源码学习
- nginx 源码学习笔记(十九)—— nginx启动过程函数调用图
- springMvc源码学习之:spirngMvc获取请求参数的方法
- 【Spark2.0源码学习】-6.Client启动
- TQ2440 学习笔记—— 30、移植U-Boot【U-Boot 的启动过程第一阶段源码分析】
- ABP 框架从源码学习——abp框架启动和结束(1)
- Android Framework学习——Launcher启动应用程序过程源码分析
- Tomcat源码学习(二)--Tomcat_7.0.70 启动分析
- spring-boot启动源码学习-1
- spring MVC 启动过程及执行过程源码学习
- Jmeter源码学习系列:从Jmeter.properties加载配置并启动Jmeter
- TBSchedule源码学习笔记-启动过程