Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JVM的启动参数大全 #4

Open
bitfishxyz opened this issue Jul 1, 2019 · 0 comments
Open

JVM的启动参数大全 #4

bitfishxyz opened this issue Jul 1, 2019 · 0 comments
Labels
JVM Java虚拟机相关知识点

Comments

@bitfishxyz
Copy link
Member

bitfishxyz commented Jul 1, 2019

标注参数

-version

# 查看java版本号
$ java -version
java version "10" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)

-X参数

我们知道Java代码可以解释执行,也可以完全编译成本地代码运行。默认情况下是采取混合模式,开始执行时时解释执行,然后在执行中把常用的方法编译成本地代码。

// 解释执行
-Xint

// 第一次使用就编译成本地代码
-Xcomp

// 混合模式
-Xmixed

-XX参数

-XX:+TraceClassLoading

显示JVM启动时加载的类。

这是简单的程序

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

运行它

$ java -XX:+TraceClassLoading Hello
[0.107s][warning][arguments] -XX:+TraceClassLoading is deprecated. Will use -Xlog:class+load=info instead.
[0.121s][info   ][class,load] opened: /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/lib/modules
[0.130s][info   ][class,load] java.lang.Object source: jrt:/java.base
[0.130s][info   ][class,load] java.io.Serializable source: jrt:/java.base
[0.130s][info   ][class,load] java.lang.Comparable source: jrt:/java.base
...
...

[0.294s][info   ][class,load] Hello source: file:/Users/apple/Downloads/x1hnd1rk/TemplateJava/out/production/TemplateJava/

[0.294s][info   ][class,load] java.lang.NamedPackage source: jrt:/java.base
[0.294s][info   ][class,load] java.lang.PublicMethods$MethodList source: jrt:/java.base
[0.294s][info   ][class,load] java.lang.PublicMethods$Key source: jrt:/java.base
[0.295s][info   ][class,load] java.lang.Void source: jrt:/java.base
Hello World
[0.296s][info   ][class,load] java.lang.Shutdown source: jrt:/java.base
[0.296s][info   ][class,load] java.lang.Shutdown$Lock source: jrt:/java.base

可以看到,JVM启动时会加载大量的类。其中java.lang.Object是第一个被加载的。

@bitfishxyz bitfishxyz changed the title JVM的启动参数列表 JVM的启动参数大全 Jul 1, 2019
@bitfishxyz bitfishxyz added the JVM Java虚拟机相关知识点 label Jul 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
JVM Java虚拟机相关知识点
Projects
None yet
Development

No branches or pull requests

1 participant