Eclipse IDE使用

批量替换:

Ctrl+H  -> File Search -> 输入被替换的字符串 -> Replace -> 新弹出对话框内输入新字符串

勾选 Regular Expression 后还有正则匹配功能。

自动加try catch块:

Shift+Alt+Z


待续。。。。。。



Eclipse启动过程


参考:

http://www.cesclub.com/bw/jishuzhongxin/wangluokaifajishu/2011/0926/10654.html

http://www.blogjava.net/vwpolo/archive/2009/08/24/292347.html

 

1 简介

Eclipse提供了一个本地可运行方式来启动Eclipse平台,它包含两部分:

  • 可执行程序(eclipse.exe):位于eclipse的安装目录下
  • 共享DLL文件(eclipse_1115.dll):位于安装目录的plugins文件下的org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.* 文件夹下面

在Eclipse3.3以前的版本,Eclipse安装目录下都有一个startup.jar的文件,eclipse.exe通过执行这个jar文件来启动Eclipse平台,在Eclipse 3.3及以后的版本对此进行了重构,startup.jar文件的功能被"org.eclipse.equinox.launcher .*" 这个插件替代了。所以可以通过这个jar启动:java -jar org.eclipse.equinox.launcher_1.2.0.v20110502.jar 


2 启动过程

2.1 加载配置

Eclipse先查找JVM,然后使用JNI并加载和启动JVM, 如果你在命令行参数中没有指定 "-vm" 参数,Eclipse会先从安装目录下找jvm的文件夹,如果发现有这样一个文件夹,会在文件夹下搜索“jvm.dll"文件,如果找到这个文件,Eclipse将加载并启动JVM,如果没有找到,会根据环境变量中指定的位置查找JVM,你也可以在命令行添加"-vm"参数或者安装目录下面的configuration文件夹下面的config.ini文件中指定特定的JVM的位置。

2.2 执行launcher.jar

在找到JVM并启动后,开始执行org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar,这个jar文件中指定了运行的主类:org.eclipse.equinox.launcher.Main,这个类负责初始化Eclipse的运行环境,包括设置必要的系统属性、解析和处理configuration/config.ini配置文件、加载OSGI框架的Jar文件、检查Java版本是否符合Eclipse最低运行要求、设置安全级别、显示启动的闪屏界面。

2.3 执行run

最后通过加载"org.eclipse.core.runtime.adaptor.EclipseStarter.class"并调用它的run(String[], Runnable)方法来启动Eclipse平台.

 

3 run方法

3.1 简述:

EclipseStarter 位于org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar这个插件中,这个类不能被子类继承,也不应该被显式实例化,这个类中提供的方法都是静态方法。

在这个类主要通过run(String[], Runnable)完成了Eclipse平台的启动,而在这个方法块中的startup(String[], Runnable)负责初始化属性和配置、注入系统钩子(Hook)、创建OSGI框架 、注册插件(Bundle)事件、加载基础的插件、运行OSGI框架等一系列操作启动Eclipse平台。在startup方法执行完成后开始执行run(Object),在这个方法中会创建EclipseAppLauncher的实例并将其注册到OSGI的服务系统中,接着调用EclipseAppLauncher的start方法启动,读取插件扩展点信息,查找声明了"org.eclipse.core.runtime.applications"扩展点的实现类,调用它的Run方法就开始启动,这基本上就是Eclipse平台的基本操作。

下面是RCP程序的类调用层次:

3.2 调用情况

run办法调用的是basicRun是Eclipse的首要启动函数,它的首要内容包含:

  • 1.记录启动启动时候,经由过程debug模式可以看到Eclipse的启动时候
  • 2.processCommandLine:处理惩罚Command参数,并按照Command参数设置默认属性
  • 3.setupVMProperties:将VM参数写入到System.Properties中
  • 4.processConfiguration:加载设备信息
  • 5.getInstallLocation:获取安装路径
  • 6.getBootPath:获取启动路径列表
  • 7.setupJNI:启动JNIBridge,加载dll类库
  • 8.搜检JDK版本、搜检设备信息
  • 9.setSecurityPolicy:设置安然策略
  • 10.handleSplash:启动闪屏
  • 11.invokeFramework:加载框架
3.3 被调用方法介绍

下面对重点办法进行描述:

  • 1.processConfiguration:处理惩罚设备信息。若是在启动时没有指定-configuration参数,将会以当前安装目次和默认的设备文件夹configuration加载设备信息,默认加载目次下的config.ini文件,以properties读入,将设备信息归并到System.getProperties()中。在config.ini中osgi.framework的指定的Jar包进行启动。
  • 2.getInstallLocation():获取当前安装路径。它先从体系设备信息中获取安装路径,若是没有,则经由过程获取main类包的路径换算出安装路径(Main.class.getProtectionDomain().getCodeSource().getLocation())体式格式获取。
  • 3.getBootPath:获取启动路径列表,读取osgi.framework及osgi.framework.extensions(逗号分别)。
  • 4.setupJNI:起首获取–launcher.library的路径,并按照操纵体系、架构、窗体架构等信息,加载响应的本地文件(例如:dll或so)。并应用Runtime.getRuntime().load(lib)加载本地文件。
  • 5.setSecurityPolicy办法:对OSGi框架设置全部权限。
  • 6.handleSplash:加载闪屏
  • 7.invokeFramework:启动OSGi框架。设置OSGi框架的ClassLoader,若是没有指定ClassLoader,默认将boot设置为OSGi框架的ClassLoader的父类,并产生一个Equinox框架的StartupClassLoader,在启动路径列表里加载响应的类,经由过程该ClassLoader加载org.eclipse.core.runtime.adaptor.EclipseStarter类,并调用其run办法,将号令行参数及闪屏对象(线程)传递给run办法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值