首页 > 编程知识 正文

java可以有几个main方法,java中main方法啥意思

时间:2023-05-04 18:30:52 阅读:32743 作者:1619

学习过java的人都知道main方法是学习java的开始,也是程序的入口,但是有多少个类、程序和线程? 他们入口的方法都是main (

因为main方法是静态方法,所以在main )方法(该方法属于类而不是对象)中,自变量的类型为" String[] args ",在启动Java APP应用程序的同时,它也是字符串类型的数组

运行流程:

当前的问题是,JVM如何加载类以及如何调用main ()方法? 让我们简要总结一下整个过程。 1 .将1. load (加载)编译生成的. class文件导入JVM并存储在内存中。

2. link (链接) :合并读取的内存的. class文件,分析文件之间的参照关系。 此过程进一步分为验证、复制和可选的解决方案。 确保导入的. class文件符合标准。 预处理的主要作用是分配存储所需的内存空间。 分析负责分析. class文件中的符号参照。

3 .将3. initialize the class (初始化类)类)的变量初始化为适当的状态。

4.executedthemainmethod (执行主方法) ) )。

实际上,加载工作是由Java的类加载器完成的。 JVM启动时,三个类加载器同时启动。

1 .根加载器:负责加载位于/jre/lib目录中的核心Java类库。 根加载器是JVM核心的一部分,用本地语言(C/C )实现。

2.extensionsclassloader:负责加载位于“/jar/lib/ext”等目录中的扩展Java类库。

3 .系统加载器:负责加载CLASSPATH路径中的Java类。

所以,我们的HelloWorld类被加载到系统加载程序中。 此类的main ) )方法执行之前,完成加载、链接和其他依赖类的初始化等任务。

最后,包含main ()方法的堆栈帧被推入包含JVM“mian”线程的堆栈中,同时程序计数器也被正确设置。 然后,调用的println ()方法生成堆栈帧,并将其推送到与" main "线程相同的堆栈上。 main ) )方法执行完成后,整个堆栈将被销毁,整个APP应用程序也将成功终止。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。