Java千百问_08JDK详解(009)_java程序如何运行

来源:互联网 发布:mp3音量调节软件 编辑:程序博客网 时间:2024/05/21 10:13

点击进入_更多_Java千百问

1、java程序如何运行

java代码首先需要进行编译,编译为.class类文件,然后通过java命令(执行器)执行java命令位于jdk/bin目录下。

了解如何编译看这里:javac是什么
它通过启动Java运行时环境(JRE),然后加载指定类(JRE在启动时会搜索以下路径进行类加载:引导类路径,扩展包路径,用户的类路径),调用类的main()方法(了解更多main方法看这里:main方法是什么)。

java命令可以执行一个jar,这个jar必须包含Main-Class文件,用来指定应用程序的入口。了解如何打jar包看这里:不使用IDE如何打jar包
java命令也可以用来启动一个JavaFX应用程序,同样通过main()方法或者javafx.application.Application。通过javafx.application.Application执行,首先执行器构造类的一个实例,然后调用它的init()方法,之后调用start(javafx.stage.Stage)方法

javaw命令与java命令是相同的,除了一点:javaw没有相关联的控制台窗口。当你不希望一个出现一个命令提示符窗口时,请使用javaw。当然,如果javaw命令发生错误,则会讲所务信息通过一个对话框显示出来。

2、java命令如何使用

java命令可以再安装了jdk的操作系统中执行。了解如何安装jdk看这里:如何安装和配置Jdk
打开操作系统的命令终端,输入相应的命令行,就能够使用java,具体语法如下:

java [options] classname [args]

java [options] -jar filename [args]

javaw [options] classname [args]

javaw [options] -jar filename [args]

其中,参数可按任意次序排列。参数说明如下:

options
命令行选项,直接执行java或者java -help会显示所有options操作,主要有:

  1. -classpath
    类路径,设置用户类的路径,它会覆盖CLASSPATH环境变量中的用户类路径。若既未指定CLASSPATH又未指定-classpath,则用户类路径由当前目录构成。多个路径项用分号”;”进行分隔。

  2. -version
    输出产品版本并退出,一般用于测试jdk是否安装成功以及查看当前环境下使用的jdk版本。

  3. -version:<值>
    需要指定的版本才能运行

  4. -verbose:[class|gc|jni]
    启用时详细日志输出。

  5. -D<名称>=<值>
    设置系统属性

  6. 其他jvm配置
    可以在这里设置jvm运行参数,例如内存大小-Xms10M -Xmx10M等。
    了解jvm常见配置看这里:jvm常见配置都有哪些

  7. -esa | -enablesystemassertions
    启用系统断言

  8. -dsa | -disablesystemassertions
    禁用系统断言

classname
所要执行的类名,注意这里是指类名,不是文件名,所以不能加文件后缀名。例如:

java Test

filename
所要执行的jar文件名,这里是文件名,需要文件后缀名。例如:

java -jar Test.jar

args
调用main(String[] args)方法的入参(String类型),多个参数通过空格分割,没有参数不用填写。

例子如下:

public class TestMain {    public static void main(String[] args) throws Exception {        if (args.length > 0) {            for (String arg : args) {                System.out.println("args:" + arg);            }        }        if (args.length <= 0) {            throw new Exception("Exception");        }    }}

首先编译:java Test.java
然后执行:java -Xms10M -Xmx10M Test 0 1 2
结果如下:

args:0
args:1
args:2

1 0
原创粉丝点击