zoukankan      html  css  js  c++  java
  • Java主函数解释、java/javac命令解释、classpath解释

    任何一段程序必须要有一个执行的起始点,有一个入口,这个入口就是主函数,本质上这个主函数就被虚拟机所调用。
    即:主函数是一个入口、它被虚拟机所调用、有了主函数就能保证一个类的独立运行,一个类里有且只有一个主函数。

    让编译器做事:
      javac是java对外提供的一个命令,他的底层对应着一整套java编译程序,其实就是用这个命令启动了一个编译程序,编译.java文件,就是对java的原文件进行检查,检查原代码的正确性,叫语法检查。
      该命令的作用是:调用JDK当中的给我们提供的叫做编译程序,javac的意思就是启动编译器。
      若编译失败(即报错)是不可能生成类文件的。

    让虚拟机做事:
      java的底层对应的程序是:虚拟机,启动虚拟机帮我运行一个类,即java Demo,是因为运行环境中才包含虚拟机。
      它就去指定的位置去找名称为Demo.class的文件,找到后将其加载到内存(因为任何程序运行需要加载到内存里运行,因为硬盘的速度比较慢,所以硬盘会把数据都转移到内存这个临时存储区后由CUP来进行运算,内存是个大的临时存储空间,运行效率比较高)找到主函数入口进入后,开始执行主函数里面的代码。

      java这个运行程序,类文件(即.class文件)可能分布在电脑硬盘不同目录下。
      运行文件(即类文件)在哪,我就去哪运行,即Demo.class在哪,我就去哪使用命令 java Demo 运行它。

    classpath的作用是:可以在任意目录下都能运行java程序。
      但是:有另一种方法:
        即classpath是在规定虚拟机该到什么地方去执行java运行程序。
        若没有配置classpath环境变量时,虚拟机就在该当前目录上查找要运行的类文件,若没有找着就报错。
        若配置的话,虚拟机就在你配置的目录下查找要运行的类文件。

  • 相关阅读:
    (算法)堆与堆排序
    (笔试题)N!的三进制数尾部0的个数
    (笔试题)N!尾部连续0的个数
    程序员与编程一些鲜为人知的事实 软件遵循熵的定律
    关注职业发展,也要关注健康 别让老板杀了你
    其实,最好的年龄才刚刚开始
    你为什么就做不到呢? 正确的选择改变命运
    睡觉前为啥总是忍不住刷网页刷手机?
    中年程序员职业生涯另一选择:创业追寻自己的热情所在
    都很好的两人为何却没有好的婚姻 清楚对方的需要
  • 原文地址:https://www.cnblogs.com/chenmingjun/p/8570722.html
Copyright © 2011-2022 走看看