跳至主要內容

准备环境

Mr.Hope...大约 2 分钟

前言

所需前置知识为:JAVA语言、JVM知识、Go笔记open in new window

对应项目:jvmgoopen in new window

准备环境

操作系统:Windows 11

JDK版本

openjdk version "1.8.0_382"

Go版本

go version go1.21.0 windows/amd64

配置Go工作空间

java命令指示

Java虚拟机的工作是运行Java应用程序。和其他类型的应用程序一样,Java应用程序也需要一个入口点,这个入口点就是我们熟知的main()方法。最简单的Java程序是 只有一个main()方法的类,如著名的HelloWorld程序。

public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello, world!");
  }
}

JVM如何知道从哪个类启动呢,虚拟机规范并没有明确,而是需要虚拟机实现。比如Oracle的JVM就是通过java命令启动的,主类名由命令行参数决定

java命令有如下4种形式:

java [-options] class [args]
java [-options] -jar jarfile [args]
javaw [-options] class [args]
javaw [-options] -jar jarfile [args]

可以向java命令传递三组参数:选项、主类名(或者JAR文件名) 和main()方法参数。选项由减号(–)开头。通常,第一个非选项参数 给出主类的完全限定名(fully qualified class name)。但是如果用户提供了–jar选项,则第一个非选项参数表示JAR文件名,java命令必须从这个JAR文件中寻找主类。javaw命令和java命令几乎一样,唯 一的差别在于,javaw命令不显示命令行窗口,因此特别适合用于启 动GUI(图形用户界面)应用程序。

选项可以分为两类:标准选项和非标准选项。标准选项比较稳定,不会轻易变动。非标准选项以-X开头,

选项用途
-version输出版本信息,然后退出
-? / -help输出帮助信息,然后退出
-cp / -classpath指定用户类路径
-Dproperty=value设置Java系统属性
-Xms<size>设置初始堆空间大小
-Xmx<size>设置最大堆空间大小
-Xss<size>设置线程栈空间大小