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文件,虚拟机就不知道要加载哪个文件。

  • 相关阅读:
    多线程等待
    多线程多进程
    Django中的 返回json对象的方式
    爬虫之 单线程+多任务异步协程
    python 调用github的api,呈现python的受欢迎的程度
    爬虫之线程池
    爬虫之代理和cookie的处理
    pip 安装报错
    git 新建仓库第一次提交
    ansible的剧本
  • 原文地址:https://www.cnblogs.com/immer/p/5175643.html
Copyright © 2011-2022 走看看