Java 程序的执行
我有一个关于程序执行的问题。在C++中,程序是逐行执行的,直到它到达结束(返回0;或者刚好到达主函数的范围的末端)。在一个带有文本界面的程序中,如果我想重复该程序,直到用户点击[Esc]键为止,我会将其放入正在执行的循环中,直到出现特定情况为止。同样的情况也发生在GUI程序中(确切地说是WinAPI),程序在事件循环中循环,直到用户点击“X”,然后程序到达主函数的末尾,因此程序的执行停止。到目前为止还不错 令我惊讶并让我夜不能寐的是,当我创建一个JFrame对象,初始化它并使它恰好显示出来时,当程序执行到达主函数作用域的末尾时,窗口仍然存在。我还在调试器中检查了它,它没有显示实际正在执行的行。它清楚地表明线程执行已经完成。我确信执行没有被冻结,所以引擎盖下一定发生了什么,因为我仍然可以调整大小、关闭窗口等等。所以我的问题是:当Java中的窗口被显示时,程序的执行实际上在哪里移动 同样的事情也发生在VBA中。我在一个模块中创建了一个主函数,然后在这个模块中我强制显示了一个非模态形式,一旦函数的执行完成,窗口并没有消失,但是函数中声明的变量消失了,所以对它们的访问也消失了Java 程序的执行,java,c++,vba,Java,C++,Vba,我有一个关于程序执行的问题。在C++中,程序是逐行执行的,直到它到达结束(返回0;或者刚好到达主函数的范围的末端)。在一个带有文本界面的程序中,如果我想重复该程序,直到用户点击[Esc]键为止,我会将其放入正在执行的循环中,直到出现特定情况为止。同样的情况也发生在GUI程序中(确切地说是WinAPI),程序在事件循环中循环,直到用户点击“X”,然后程序到达主函数的末尾,因此程序的执行停止。到目前为止还不错 令我惊讶并让我夜不能寐的是,当我创建一个JFrame对象,初始化它并使它恰好显示出来时,当
<>在C/C++中的两个例子中,这些情况意味着程序已经完成,但是窗口是可见的,所以应用程序实际上没有停止,对吗?< / P> C++中,程序正在逐行执行,直到它达到什么目的?任何语言都是如此。在每个严肃的应用程序中都有多个线程。在Java中,至少有一个垃圾收集器,如果您使用的是Swing,那么就有一个事件调度线程。在VBA中,执行上下文是在其中使用代码的应用程序。