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环境变量时,虚拟机就在该当前目录上查找要运行的类文件,若没有找着就报错。
    若配置的话,虚拟机就在你配置的目录下查找要运行的类文件。

我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
12天前
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
28 1
|
1月前
|
Java Windows
JAVA 常用的 DOS 命令
【10月更文挑战第15天】DOS 命令是 Java 开发中不可或缺的工具,掌握这些命令可以提高开发效率和操作便利性。
36 3
|
1月前
|
运维 监控 Java
使用jps命令查看Java进程
`jps`是Java开发者和系统管理员的得力助手,它简化了Java进程监控的过程,使得快速检查应用运行状态变得轻而易举。通过合理利用其提供的参数,可以高效地进行故障排查、性能监控及日常管理任务,确保Java应用稳定运行。
68 2
|
2月前
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
74 5
|
3月前
|
监控 JavaScript 前端开发
JAVA常用的DOS命令
JAVA常用的DOS命令
|
3月前
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
|
4月前
|
Java 运维
开发与运维命令问题之使用jstack命令查看Java进程的线程栈如何解决
开发与运维命令问题之使用jstack命令查看Java进程的线程栈如何解决
66 2
|
4月前
|
Java 应用服务中间件 API
java 启动查看jar包加载顺序并设置classpath
java 启动查看jar包加载顺序并设置classpath
390 0
|
Java
4.15.1下面那一个属性与Java解释程序有关?
下面那一个属性与Java解释程序有关?
179 0
|
8天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####
下一篇
无影云桌面