在了解java的classpath之前先来看看java的运行机制

 1.首先是编译,将.java文件编译成虚拟机认识的二进制文件。这个过程需要的命令是javac  可以在jdk的bin目录中找到,javac.exe(windows 下文件以.exe结尾)

2.运行。将虚拟机认识的class二进制文件解析成机器码运行。这个过程需要的命令是java  在classpath的目录中找编译成的class文件加载到虚拟机运行。

首先将编译成虚拟机认识的二进制文件放到某一目录文件夹下(即生成的class文件)

运行时查找classpath 文件的路径,一般的文件路径都是:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

. 代表在当前的现在当前的目录下寻找class文件。可以设置成自己的工作空间的目录。

总结:

classpath 只在运行时有查找class文件的作用,防止系统找不到class文件。

付:(有人说为什么不查找整个磁盘,我想这个大概有两个原应:1.安全问题2.效率问题3.多个文件都出现不知道加载不知道运行那个的问题)

1.因为如果虚拟机能查找整个磁盘的话,那么某些人可以将一些恶意的代码加载入虚拟机,造成虚拟机的瘫痪。

2.试想现在的普通磁盘都到T的级别,服务器就更不用说。所以在整个磁盘下查找class文件效率会十分低下。

3.在不同的操作系统中统一文件夹下不能存在同名的文件,但是不同目录下却可以。所以在不同目录下如果存在同名class文件,虚拟机就不知道要加载哪个文件。

java Classpath 的解读的更多相关文章

  1. java classpath getResource getResourceAsStream

    1.classpath 用于指定java运行时,jvm寻找class文件以及jar文件的存储目录.jvm依据classpath中出现的jar文件以及目录,依次寻找,直到找到指定class文件. 例:j ...

  2. java classpath批量设置shell脚本

    java classpath批量设置shell脚本   注意:linux bash jar文件之间的分隔符是':'    export JAR_HOME=path to directory which ...

  3. Java I/O解读与使用实例

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲解了Java I/O解读与使用实例. 一.I/O基本概念 I/O全称是Inpu ...

  4. java classpath深入详解(转)

    http://developer.51cto.com/art/200509/2786.htm 设置类路径 结构 可通过对 JDK 工具使用 -classpath 选项(首选方法)或设置 CLASSPA ...

  5. JAVA classpath, 纠正我一直以来错误的认知

    如何调在CLI中使用java tool(JDK中的java命令)调用一个打包在jar中的类,我想大多数人都能给出笼统的方案: java -classpath xxxxx com.test.classA ...

  6. java classpath import package 机制 @Java的ClassPath, Package和Jar

    java classpath import package 机制   從一個簡單的例子談談package與import機制 基本原則:為什麼需要將Java文件和類文件切實安置到其所歸屬之Package ...

  7. 转载:Java Lock机制解读

    Java Lock机制解读 欢迎转载: https://blog.csdn.net/chengyuqiang/article/details/79181229 1.synchronized synch ...

  8. JAVA classpath jar问题[zz]

    classpath问题可以说是所有初学者头疼的问题,偶也一样. 1) classpath的作用:  它的作用就事让java找到你所要执行,或你拥有的类. 2) classpath的设置:  设置cla ...

  9. java -classpath or -cp 的设置和解释

    classpath is a parameter—set either on the command-line, or through an environment variable—that tel ...

随机推荐

  1. XmlDocument 转换为xml字符串

    static public string XMLDocumentToString(XmlDocument doc)     {         MemoryStream stream = new Me ...

  2. 【NFS】nfs安装调优

    nfs [root@flymaster ~]# rpm -qa nfs-utils rpcbindnfs-utils-1.2.3-75.el6.x86_64rpcbind-0.2.0-13.el6_9 ...

  3. Linux命令top 详解

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. top - 01:06:48 up 1:22, 1 ...

  4. spring mvc 之@requestmapping

    引言: 前段时间项目中用到了REST风格来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为application/j ...

  5. SA 后缀数组

    SA 后缀数组 首先一定要确定\(SA\)是个什么东西 \(SA[i]\)表示的是排名为\(i\)的后缀是哪一个 至于后缀\(i\)的排名是多少,那个是\(rank[i]\) 当然啦 最最最难懂的就是 ...

  6. ajax 状态码

    状态码定义 ... 10 信息1xx ... 10.1 100继续 ... 10.1.1 101交换协议 ... 10.1.2 成功的2xx ... 10.2 200 OK ... 10.2.1 20 ...

  7. PowerShell 发布farm solution

    SharePoint PowerShell在SharePoint Product列表里边,然后以管理员权限启动. 1. 添加Solution 到 SharePoint Farm. Add-SPSolu ...

  8. mvc-dispatchar-servlet.xml文件报错

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  9. Treesoft数据库管理系统使用说明

    数据列表页面有以下功能:1.直接新添数据行2.直接双击编辑数据3.勾选复制新增数据4.数据按字段排序5.数据列过滤6.结果结果集过滤7.导出数据等 表结构设计页面有以下功能:1.直接新增.删除字段2. ...

  10. ubuntu16.04 安装常见问题解决方案------输入法黑框

    我的系统是 lubuntu 16.04 刚安装输入法候选字的地方全是黑框,然后百度查到了 compton 和 xcompmgr 这两个说是窗口微调 透明 ,这两个方法对我的系统不管用 .各位如果遇到黑 ...