用exit()停止JVM是什么意思?

时间:2015-09-23 14:25:52

标签: java jvm

每个操作系统可能有多个JVM,或者每个操作系统只有一个JVM?我也读过“Runtime.exit()”,我们停止执行JVM?

我有点困惑,因为我一直认为JVM是一台永不停止工作的机器,总是在等待被“java App.class”调用。

4 个答案:

答案 0 :(得分:0)

JVM是一个抽象概念,每个操作系统可能有许多运行实例。实现通常是通过Java Runtime Environment实现的。当调用<div id="contentarea"> <div class="autopagerize_page_element"> {block:Posts} <div class="entrygroup"> {block:Text} <div class="entry"> <div class="textpost"> {block:Title} <h3> <a href="{Permalink}" style="color: black">{Title}</a> </h3> {/block:Title} {Body} </div> <ul class="like-reblog"> <li>{LikeButton size="15"}</li> <li>{ReblogButton size="15"}</li> <li>{block:NoteCount}<a href="{permalink} #notes">{NoteCountWithLabel}</a>{/block:NoteCount}</li> <li>{block:Date}<a href="{Permalink}">{TimeAgo}</a>{/block:Date}</li> </ul> {block:PostNotes}{PostNotes}{/block:PostNotes} </div> </div> {/block:Text} {block:Photo} <div class="entry"> <div class="photopost"> <img src="{PhotoURL-400}"> {block:Caption}{Caption}{/block:Caption} </div> <ul class="like-reblog"> <li>{LikeButton size="15"}</li> <li>{ReblogButton size="15"}</li> <li>{block:NoteCount}<a href="{permalink} #notes">{NoteCountWithLabel}</a>{/block:NoteCount}</li> <li>{block:Date}<a href="{Permalink}">{TimeAgo}</a>{/block:Date}</li> </ul> {block:PostNotes}{PostNotes}{/block:PostNotes} </div> {/block:Photo} {block:Photoset} <div class="entry"> <div class="photosetpost"> {Photoset-400} {block:Caption}{Caption}{/block:Caption} </div> <ul class="like-reblog"> <li>{LikeButton size="15"}</li> <li>{ReblogButton size="15"}</li> <li>{block:NoteCount}<a href="{permalink} #notes">{NoteCountWithLabel}</a>{/block:NoteCount}</li> <li>{block:Date}<a href="{Permalink}">{TimeAgo}</a>{/block:Date}</li> </ul> {block:PostNotes}{PostNotes}{/block:PostNotes} </div> {/block:Photoset} {block:Quote} <div class="entry"> <div class="quotepost"> {Quote} {block:Source}<div class="quotesource"><br>&mdash;{Source}</div> {/block:Source} </div> <ul class="like-reblog"> <li>{LikeButton size="15"}</li> <li>{ReblogButton size="15"}</li> <li>{block:NoteCount}<a href="{permalink} #notes">{NoteCountWithLabel}</a>{/block:NoteCount}</li> <li>{block:Date}<a href="{Permalink}">{TimeAgo}</a>{/block:Date}</li> </ul> {block:PostNotes}{PostNotes}{/block:PostNotes} </div> {/block:Quote} {block:Link} <div class="entry"> <div class="linkpost"> <a href="{URL}" {Target} style="color: black">{Name}</a> {block:Description}{Description}{/block:Description} </div> <ul class="like-reblog"> <li>{LikeButton size="15"}</li> <li>{ReblogButton size="15"}</li> <li>{block:NoteCount}<a href="{permalink} #notes">{NoteCountWithLabel}</a>{/block:NoteCount}</li> <li>{block:Date}<a href="{Permalink}">{TimeAgo}</a>{/block:Date}</li> </ul> {block:PostNotes}{PostNotes}{/block:PostNotes} </div> {/block:Link} {block:Chat} <div class="entry"> <div class="chatpost"> {block:Title}{Title}{/block:Title} <table> {block:Lines} <tr> <td>{block:Label}{Label}{/block:Label}</td> <td>{Line}</td> </tr> {/block:Lines} </table> </div> <ul class="like-reblog"> <li>{LikeButton size="15"}</li> <li>{ReblogButton size="15"}</li> <li>{block:NoteCount}<a href="{permalink}#notes">{NoteCountWithLabel}</a>{/block:NoteCount}</li> <li>{block:Date}<a href="{Permalink}">{TimeAgo}</a>{/block:Date}</li> </ul> {block:PostNotes}{PostNotes}{/block:PostNotes} </div> {/block:Chat} {block:Audio} <div class="entry"> <div class="audiopost"> {AudioPlayer} {block:Caption}{Caption}{/block:Caption} </div> <ul class="like-reblog"> <li>{LikeButton size="15"}</li> <li>{ReblogButton size="15"}</li> <li>{block:NoteCount}<a href="{permalink}#notes">{NoteCountWithLabel}</a>{/block:NoteCount}</li> <li>{block:Date}<a href="{Permalink}">{TimeAgo}</a>{/block:Date}</li> </ul> {block:PostNotes}{PostNotes}{/block:PostNotes} </div> {/block:Audio} {block:Video} <div class="entry"> <div class="videopost"> {Video-500} {block:Caption}{Caption}{/block:Caption} </div> <ul class="like-reblog"> <li>{LikeButton size="15"}</li> <li>{ReblogButton size="15"}</li> <li>{block:NoteCount}<a href="{permalink} #notes">{NoteCountWithLabel}</a>{/block:NoteCount}</li> <li>{block:Date}<a href="{Permalink}">{TimeAgo}</a>{/block:Date}</li> </ul> {block:PostNotes}{PostNotes}{/block:PostNotes} </div> {/block:Video} </div> {/block:Posts} </div>时,运行时停止。 JVM当然可以停止。并且(在大多数计算机上)必须明确启动。

答案 1 :(得分:0)

  

我总是认为JVM是一台永不停止工作的机器,总是在等待被#c; java App.class&#34;

不,这不是JVM的工作原理。它不是等待执行Java程序的后台进程。在一台计算机上并不总是只运行一个JVM。

每当启动Java程序时,都会启动新的JVM。如果同时运行多个Java程序,则会运行多个JVM。每个程序都在自己的JVM中运行。

System.exit()停止运行当前Java应用程序的JVM。它对在同一台机器上运行的其他Java程序没有影响。

答案 2 :(得分:0)

如果启动java应用程序(直接或间接使用java shell命令),则会创建并启动JVM实例。

当应用程序完成时(通过到达结尾或通过System.exit(),然后JVM实例停止。

当然,您可以同时运行多个Java应用程序。每个都将在自己的JVM实例中。

答案 3 :(得分:0)

  

每个操作系统可能有多个JVM,或者每个操作系统只有一个JVM?

你可以做任何一件事。您可以为每个命令运行JVM,也可以使用应用程序服务器来运行Java应用程序。 (您可以拥有多个应用程序服务器)

  

我也读过“Runtime.exit()”,我们停止执行JVM?

这会触发JVM关闭。该过程会执行一些操作,例如在调用此方法后调用Shutdown Hooks。

  

我有点困惑,因为我总是认为JVM是一台永不停止工作的机器,

可以这样使用。例如,scala有一个守护程序编译器,用于编译scala程序。

  

总是唤醒等待被“java App.class”调用。

当你运行任何程序时,(java或不运行)这总是会启动一个新程序。仅 时间不会发生内置shell命令。例如set