JVM启动时标明的启动类是什么?有具体的例子吗?

发布于 2022-09-11 20:04:05 字数 435 浏览 26 评论 0

问题描述

最近在学习类加载相关的知识,在学习相关文章时看到了类何时被初始化的内容。

类的初始化

类什么时候才被初始化:

1)创建类的实例,也就是new一个对象

2)访问某个类或接口的静态变量,或者对该静态变量赋值

3)调用类的静态方法

4)反射(Class.forName("com.lyj.load"))

5)初始化一个类的子类(会首先初始化子类的父类)

6)JVM启动时标明的启动类,即文件名和类名相同的那个类 只有这6中情况才会导致类的类的初始化。

5个我都理解,就是最后一个这个不太明白?到底什么是JVM启动时标明的启动类,是main方法的那个类吗?

Google了半天也没找到相关结果,如果您有时间,希望得到您的指点,感激不尽。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

遇到 2022-09-18 20:04:05

不是有 main 方法的类, 可能多个类有 main 方法. 而是命令行参数的指定的类, 如你个com/example/Abc.java文件, 编译后生成com/example/Abc.class, 这个类有main 方法, 执行时需要指定类名

java com.example.Abc

这里的 com.example.Abc 就是上面JVM启动时标明的启动类所指

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文