知识大全 JAVA编程解析之classpath的深入理解
Posted 知
篇首语:山高有攀头,路远有奔头。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JAVA编程解析之classpath的深入理解相关的知识,希望对你有一定的参考价值。
JAVA编程解析之classpath的深入理解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
现在的JAVA编程是内容最多也是难度最大的程序 对于每一个程序员来说 对每个知识都要进行深入的理解 这也是一个循序渐进的一个过程 本文章主要对于classpath作一个深入的解析 希望对各位朋友们有所帮助
jvm的类加载分三中方式
系统级别 rt jar
扩展级别 java_home/jre/lib/ext/目录下的jar文件
应用级别 环境变量中的classpath或javac java中的参数指定java classpath …
或者自己写ClassLoader加载
前面 中是JVM自动处理 其中第二种是为了处理Java的classpath灾难而提供的解决方案
实际上java虚拟机是由java luncher初始化的 也就是java(或java exe)
这个程序来做的 虚拟机按以下顺序搜索并装载所有需要的类
引导类 组成java平台的类 包含rt jar和i n jar中的类
扩展类 使用java扩展机制的类 都是位于扩展目录($JAVA_HOME/jre/lib/ext)
中的 jar档案包
用户类 开发者定义的类或者没有使用 java 扩展机制的第三方产品 你必须在
命令行中使用 classpath 选项或者使用 CLASSPATH 环境变量来确定这些类的位置 我
们在上面所说的用户自己的类就是特指这些类
这样 一般来说 用户只需指定用户类的位置 引导类和扩展类是 自动 寻找的
当你的程序需要第三方的类库支持 而且比较常用 就可以采用此种方法 比如常
用的数据库驱动程序 写 servlet 需要的 servlet 包等等 设置方法就是在环境变量中
加入 CLASSPATH 然后就可以直接编译运行了 而你的程序只用了些基础类 寻找时 就用不
著必须设定它
在执行Java程序的时候 会自动加载程序用中需要的在rt jar和其他java_home\\jre\\lib中包含的 jar文件中包含的Java基础类库和一些扩展类库 这些都是JVM自动处理的 对用户来说是透明的
如果Java程序中使用到了一些应用级别的类(如第三方的类) 可以在javac和java中的 classpath选项中指定它们的搜索路径 或者是自 己写ClassLoader加载 另外也可以设置ClassPath环境变量 在里面指定那些蝶阀应用级别的类的搜索路径
设置ClassPath环境变量不是必须的 只是为了方便使用 设置了ClassPath JDK就会按ClassPath制定的路径去搜索需要的应用级别的类 而不必每一次都使用 classpath选项或自己写ClassLoader
还有需要注意的就是 如果相关的类就在当前工作目录下的话 上面 种方法都可以不要 因为JDK系统会首先搜索会在当前的工作目录中搜索程序相关的类 (在jdk 下已经验证)
cha138/Article/program/Java/hx/201311/26234相关参考
上一次在使用Java开始面向对象的编程这篇文章中我们学习了一个编程语言要真正成为面向对象的它应该支持信息隐藏/封装多态继承和动态绑定另外我们知道了Java完全支持这些功能而且知道了因为Java是一
Java语言深入--什么叫面向接口编程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在一个面向
深入理解Java延迟绑定 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 下面几个类用于确定今
《深入理解Java虚拟机》笔记 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在C里面我们想
知识大全 深入理解Java Servlet与Web容器之间的关系
深入理解JavaServlet与Web容器之间的关系 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java如何设置ClassPath路径 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 因为有很多
知识大全 Java 中的 ClassPath 和 Package
Java中的ClassPath和Package 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
深入解析C#编程中的事件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一个事件是一个使对象或类
深入CSocket编程之阻塞和非阻塞模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 有时花上
C#高级编程:数据绑定深入理解[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n