JVM启动时标明的启动类是什么?有具体的例子吗?
问题描述
最近在学习类加载相关的知识,在学习相关文章时看到了类何时被初始化的内容。
类的初始化
类什么时候才被初始化:
1)创建类的实例,也就是new一个对象
2)访问某个类或接口的静态变量,或者对该静态变量赋值
3)调用类的静态方法
4)反射(Class.forName("com.lyj.load"))
5)初始化一个类的子类(会首先初始化子类的父类)
6)JVM启动时标明的启动类,即文件名和类名相同的那个类 只有这6中情况才会导致类的类的初始化。
前5
个我都理解,就是最后一个这个不太明白?到底什么是JVM启动时标明的启动类
,是main
方法的那个类吗?
Google
了半天也没找到相关结果,如果您有时间,希望得到您的指点,感激不尽。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不是有 main 方法的类, 可能多个类有 main 方法. 而是命令行参数的指定的类, 如你个
com/example/Abc.java
文件, 编译后生成com/example/Abc.class
, 这个类有main 方法, 执行时需要指定类名这里的 com.example.Abc 就是上面
JVM启动时标明的启动类
所指