2

它最知名的问题 Applet vs Application 和常见的答案是 applet 开始于,init()而应用程序开始于main().

Applet 的生命周期:init() -> start() -> paint() -> stop() -> destroy()

但是,应用程序呢?它从main()开始,然后是destroy() ?? 还是取决于编码部分?请纠正我,如果我在任何时候错了。

假设这是简单的java代码

public class MyClass {

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

我发现了这个,但我认为,这是所有人(applet、servlet、应用程序)的共同生命周期。

4

2 回答 2

6

您发布的链接讨论了创建应用程序的周期。

对于 Java 应用程序,生命周期只是main()功能。当所有非恶魔线程都已终止(线程默认为非恶魔)或被System.exit()调用时,应用程序将结束。

如果您不启动任何线程,则唯一的线程是主线程,它将在main()函数结束时终止。

于 2012-12-12T14:47:19.357 回答
0

想在@Thirler 帖子上添加。

没有 main方法的类的生命周期由其对象的范围控制。因此,一旦(通过 new )创建了任何对象,它们就会存在,并且当为类创建的引用数量变为 0 时,它们就会超出范围。

因此,一旦所有对象都被垃圾回收,并且如果它们不是弱引用、软引用和幻像引用,类的生命周期就会结束。

生命周期:

类加载-->对象创建-->所有对象无效-->垃圾回收-->结束

于 2012-12-12T15:03:16.503 回答