文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发JavaJAVA基础:Java 启动器如何查找类
精品推荐
特别推荐
·实例讲解:Java中的SOAP技术
·Java语言出现的背景 影响及前景
·Java精华积累:初学者都应该搞懂的问题
·Java多媒体框架设计自动播放机实例详解
·如何有效防止Java程序源码被人偷窥?
·Cell插件在J2EE系统中的应用
·初学者想学Hibernate,初级基础教程
·Java语言实现支持视频点播的WEB服务器
·关于Java编程的中文问题的几条分析原则
·确保J2ME无线移动商业应用程序的安全性
·Java开源技术:Eclipse的使用技巧详解
·新手入门:Java中的修饰词使用方法总结
·JAVA开发者应该去的20个英文网站
·使用JDBC创建数据库访问程序
·JDK的命令详解
·Java学习从入门到精通(附FAQ)
·Tomcat性能调整
·JSF:Java中面向Web开发的生旦净末丑
·对Java语言入门初学者的一些建议
·Java技术的新方向
热点TOP10
·实例讲解:Java中的SOAP技术
·用Java实现SMTP服务器
·用Java编写的记事本程序(2)
·Liferay中整合tinyMCE详解
·Java语言出现的背景 影响及前景
·Java语言实现支持视频点播的WEB服务器
·Java图形用户界面设计
·Tomcat性能调整
·JDK的命令详解
·java Socket 通讯的代码例子
·运用Jakarta Struts的七大实战心法(1)
·用Java编写的记事本程序(1)
·Java学习从入门到精通(附FAQ)
·Java精华积累:初学者都应该搞懂的问题
·Java多媒体框架设计自动播放机实例详解
·Jive源代码研究
·深入研究Servlet线程安全性问题
·用Java编写的记事本程序(3)
·详细解析Java中抽象类和接口的区别
·Java图像处理技巧四则

JAVA基础:Java 启动器如何查找类

日期:2007年5月2日 作者: 查看:[大字体 中字体 小字体]


    Java 启动器 java 将初始化 Java 虚拟机。虚拟机随即按以下顺序搜索和加载类:

    自举类 - 构成 Java 平台的类,包括 rt.jar 和 i18n.jar 中的类。

    扩展类 - 使用 Java 扩展机制的类。它们被捆绑为 .jar 文件,位于扩展目录中。

    用户类 - 开发人员和第三方定义的类,不使用扩展机制。在命令行上使用 -classpath 选项(常用方法)或使用 CLASSPATH 环境变量可识别这些类的位置(参见设置 Windows 或 Solaris 的 Classpath)。

    实际上,这三个搜索路径将被连为一个简单的类路径。这有点象以前使用的“单级”类路径,但现在的模型有一些重要差别:

    偶然“隐藏”或省略自举类相对困难一些。

    通常只需指定用户类的位置。系统将“自动”查找自举类和扩展类。

    工具类现在位于独立的归档中 (tools.jar)。只有当它包含在用户类路径中时才可用(稍后会有解释)。

    Java 启动器如何查找自举类

    自举类是实现 Java 1.2 平台的类。自举类在 /jdk1.2/jre/lib 中的 rt.jar 和 i18n.jar 归档中。这些归档由存储在 sun.boot.class.path 系统属性中的自举类路径值指定。该系统属性仅供引用,不应直接修改。

    需要重新定义自举类路径的可能性较小。极少数情况下需要使用另一组核心类时,非标准选项 -Xbootclasspath 允许重新定义自举类路径。

    注意:实现 JDK 开发工具的类与自举类在不同归档中。工具归档为 /jdk1.2/lib/tools.jar.调用启动器时,开发工具将该归档添加到用户类路径中。然而,这个扩大的用户类路径仅用于执行工具。处理源代码的工具 javac 和 javadoc 将使用初始类路径,而不是扩大后的类路径(有关详细信息,参见下面的 Javac 和 Javadoc 如何查找类)。

    Java 启动器如何查找扩展类

   扩展类是扩展 Java 平台的类。扩展目录中的每个 .jar 文件即被认为是扩展,且都使用 Java 扩展框架加载。我们不提供改变扩展目录位置的选项。

    Java 启动器如何查找用户类

    用户类是在 Java 平台上构建的类。查找用户类时,启动器需要使用用户类路径,它是一张目录、JAR 归档和包含类文件的 ZIP 归档的列表。

    类文件有一个反映类全限定名的子路径名。例如,如果类 com.mypackage.MyClass 存储在 /myclasses 下,则 /myclasses 一定位于用户类路径中,且类文件的完全路径一定为 /myclasses/com/mypackage/MyClass.class.如果类存储在名为 myclasses.jar 的归档中,则 myclasses.jar 一定位于用户类路径中,且类文件一定作为 com/mypackage/MyClass.class 存储在归档中。

    在 Solaris 中,我们用字符串指定用户类路径,而用冒号 (:) 分隔类路径项。java 启动器将用户类路径字符串放置在 java.class.path 系统属性中。该值可能的源为:

    缺省值“。”意味着用户类文件是当前目录中的所有类文件(如果是在包中,则为当前目录下的)。

    CLASSPATH 环境变量的值,它覆盖缺省值。

    命令行选项 -cp 或 -classpath 的值,它覆盖缺省值和 CLASSPATH 值。

    -jar 选项指定的 JAR 归档,它覆盖所有其它值。如果使用该选项,则所有用户类都来自指定的归档。

    Java 启动器如何查找 JAR-CLASS-PATH 类

    JAR 文件通常包含一个“清单” - 该文件列出 JAR 的内容。清单可以定义 JAR-CLASS-PATH ,而后者进一步扩展类路径(仅当从该 JAR 中加载类时)。查找 JAR-CLASS-PATH 访问的类时将按以下顺序进行:

    通常,查找 JAR-CLASS-PATH 项引用的类时,即将其当作 JAR 文件的一部分。出现在 JAR-class-path 中的 JAR 文件将在 JAR-CLASS-PATH 前面的类路径项之后及 JAR-CLASS-PATH 后面的类路径项之前进行搜索。

    然而,如果 JAR-CLASS-PATH 指向一个已搜索过的 JAR 文件(例如扩展或在类路径前面列出的 JAR 文件),则不再搜索该 JAR 文件(这种优化方式提高了效率,防止了循环搜索)。这样的 JAR 文件将在它出现的地方(类路径中更靠前的地方)进行搜索。

    如果 JAR 文件作为扩展安装在 jdk 的 ext 子目录中,则忽略它所定义的 JAR-CLASS-PATH.我们假定扩展所需的所有类都是 JDK 的一部分或已作为扩展安装。


[1] [2] 下一页 




上一篇:用java实现RSA算法

下一篇:JAVA基础:从.class文件中寻找类名

JAVA基础:Java 启动器如何查找类 相关文章:
·JAVA基础:Java 启动器如何查找类
JAVA基础:Java 启动器如何查找类 相关软件:

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn