Eclipse启动之三 : 启动器插件(百度空间迁移)

Eclipse启动之三启动器插件

  • 空间

启动插件名为org.eclipse.equinox.launcher.<version>,入口类org.eclipse.core.launcher.main.它是Eclipse虚拟机启动的最早的插件

main整体流程:

1.处理命令行参数

2.设置虚拟机属性

3.处理配置

4.获取安装路径

5.获取启动路径

6.加载JNI动态库

7.设置安全属性

8.处理闪屏

9.启动Eclipse核心框架

1.处理命令行参数           解析命令行参数

-showsplash            定位闪屏文件参数

-vmargs                  java虚拟机参数

-nl                           本地语言设置                     对应系统属性osgi.nl

-vm                        定位java虚拟机参数

--launcher.library    外壳程序动态库路径

-launcher                launcher程序所在位置

-startup                  startup.jar所在的位置

-name                    启动程序所用的名字            对应系统属性eclipse.launcher.name

-exitdata                退出数据

-configuration        配置文件位置                       对应系统属性osgi.configuration.area

-install                    安装路径                              对应系统属性osgi.install.area

2.设置虚拟机属性           将解析的虚拟机参数设置到系统属性中

系统属性eclipse.vm                       来源于参数-vm

系统属性eclipse.vmargs                来源于参数-vmargs

系统属性eclipse.commands           来源于整个命令行

3.处理配置文件

定位配置文件config.ini算法:

1.读取系统属性osgi.configuration.area

2.如果第一步未找到则读取系统属性osgi.baseConfiguration.area

3.读取osgi.configuration.cascaded属性 如果属性值为true,表示需要级联的配置文件,则读取读取系统属性osgi.sharedConfiguration.area

4.如果第三步中未找到配置文件,则在安装路径下/configuration目录中定位

5.将配置文件中的属性合并到系统属性中

6.读取系统属性osgi.framework,其值为启动路径

8.处理闪屏          显示闪屏窗口

定位闪屏图标splash.bmp的算法

1.读取系统属性osgi.splashLocation

2.如果第一步中未找到,则读取osgi.splashPath属性.一般此属性在配置文件中指定

此步中保存了2个系统属性

org.eclipse.equinox.launcher.splash.handle    闪屏窗口的句柄

org.eclipse.equinox.launcher.splash.location  闪屏图标的位置

9.启动Eclipse核心插件           创建URL类加载器,并调用org.eclipse.core.runtime.adaptor.EcluipseStarter的run方法

其中通过系统属性osgi.parentClassLoader 或者osgi.frameworkparentClassLoader指定URL类加载器的父加载器,从而决定了程序可访问的类范围

未指定的话,父类加载器为BootStrapClassLoader.

属性值 boot       表示BootStrapClassLoader

属性值app         表示 SystemClassLoader

属性值ext          表示ExtensionClassLoader

属性值Current    表示当前类加载器

收藏于 2012-12-10

来自于百度空间

文章有问题?点击这里反馈给我们

时间: 2024-07-30 20:40:04

Eclipse启动之三 : 启动器插件(百度空间迁移)的相关文章

Eclipse启动之四 : Eclipse核心框架启动(百度空间迁移)

框架启动位于org.eclipse.osgi_<version>插件中,入口为org.eclipse.core.runtime.adaptor.EclipseStarter.run(String[] args, Runnable endSplashHandler) 其中最主要的方法是Startup方法,其主要功能: 1.初始化框架属性信息     FrameworkProperties 2.处理命令行参数 3.初始化LocationManager 4.加载config.ini中配置信息 5.创

Eclipse启动之二:Eclipse动态库(百度空间迁移)

动态库中的主要实现文件是:eclipse.c 其主要功能定位启动Java虚拟机和显示Splash窗口(暂未用,通过在org.eclipse.equinox.launcher.Main中调用来显示) java虚拟机定位算法: 1.从-vm参数所指定的文件或目录中查找 2.如果没有指定-vm参数,程序会寻找Eclipse自带的JRE,它会在当前目录中查找jre\bin\javaw.exe 3.按照系统的环境变量指定的路径去查找javaw.exe 其中,通过-vm参数指定虚拟机位置可以有多种选择: 1

【亟梦】Eclipse安装Maven插件后导致Eclipse启动出错

本文纯属复制粘贴:具体请参照原文: Eclipse安装Maven插件后,Eclipse启动问题:Maven Integration for Eclipse JDK Warning. 解决方法: 1. 设置Eclipse使用的JRE为本机安装的JDK目录: 1.1 在eclipse.ini中添加两行 -vm C:\Program Files\Java\jdk1.6.0_10\bin\javaw.exe 注意: 要写在两行,写在一行不能生效:这两行要定在-vmargs之前,不然也不能生效. 1.2 

解决eclipse启动插件时PermGen space问题

解决eclipse启动插件时PermGen space问题 修改启动参数增加如下: -Xms256m  -Xmx512m  -XX:PermSize=256m -XX:MaxPermSize=512m 示例解释如下: -Xms128m 表示JVM Heap(堆内存)最小尺寸128MB,初始分配 -Xmx512m 表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配.说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM不是

(转)eclipse 启动参数介绍(如添加插件时,如果不显示,则使用eclipse -clean启动)

本文转载自:http://hi.baidu.com/dd_taiyangxue/blog/item/08950f3991b4e8c9d46225c8.html 其实,Eclipse是一个可以进行非常灵活配置的系统,除了以缺省的方式启动以外,还可以指定各种参数来定制启动方式.在参考了一些资料之后,我总结了一些比较常用的启动时Command Arguments,如果有不正确的地方希望大家予以指出. -arch [processor architecture]描述:指定所使用的处理器的类别举例:ecl

迁移之前百度空间博客09年到13年的文章

2009年开始记录自己的IT技术学习经历,一直放在百度空间.断断续续坚持到了2013年. 后来换了工作,同时百度空间关闭,自己也没有迁移数据到其他博客平台. 最近又想学点儿东西,想记录一下. 看来看去还是51CTO吧. 所以,第一步先把之前的数据手工迁移过来吧... 原文地址:http://blog.51cto.com/12738628/2065994

JVM参数调优:Eclipse启动实践

本文主要参考自<深入理解 Java 虚拟机>.这本书是国人写的难得的不是照搬代码注释的且不是废话连篇的技术书,内容涵盖了 Java 从源码到字节码到执行的整个过程,包括了 JVM(Java Virtual Machine)的架构,垃圾收集的介绍等.这里摘录出关于配置 JVM 基本参数来调优 Eclipse 启动的过程,比较初级,供初学者参考. 基础知识 针对 JVM 的参数调优主要集中在数据区大小的控制和垃圾回收策略的选择.关于 JVM 运行机制等更多内容可参考其他博文 JVM 的运行时数据区

Eclipse中安装MemoryAnalyzer插件及使用

Eclipse中安装MemoryAnalyzer插件 一.简介 Eclipse作为JAVA非常好用的一款IDE,其自带的可扩展插件非常有利于JAVA程序员的工作效率提升. MemoryAnalyzerTool(也叫MAT)是一款JAVA虚拟机内存映像分析工具,可以在JAVA程序运行的时候有程序抛出的异常加上已经设置好的参数(-XX:+HeapDumpOnOutOfMemory)调试出内存泄漏或者异常的位置以及原因跟踪,MemeoryAnalyzer可以对Dump出来的对转出快照进行分析,重点是确

eclipse 启动到load workbench 后静止

2012-11-13 23:23:58| 分类: java | 标签:eclipse |字号 订阅今天早上启动eclipse 到半截就静止了,等好久也不见它继续加载.关闭 重启好几次都不行.百度了一把:说插件出了问题:/workspace/.metadata/.plugins/org.eclipse.ui.workbench和org.eclipse.ui.workbench.texteditor 插件出问题了,删除就好了,千万不要把 plugins 都删除掉了.