zoukankan      html  css  js  c++  java
  • java Classpath 的解读

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

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

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

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

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

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

    总结: 

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

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

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

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

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

  • 相关阅读:
    js 创建Table,每行3列的方式
    多线程 笔记
    WCF binding
    table 变量
    Excel数据使用sql语句导入sqlserver (64位)
    sqlserver链接服务器到Mysql
    easyui datagrid 返回数据正确 fit='true' 时不显示内容
    js设置文本框只读属性的小bug
    windows64位下的redis及memcached的安装和使用
    spring.Net (Mvc)属性依赖注入------实例化对象
  • 原文地址:https://www.cnblogs.com/immer/p/5175643.html
Copyright © 2011-2022 走看看