JVM是否可以同时运行多个程序?如果是这样,怎么样?如果没有,为什么?
要运行程序,我们只需这样做
java ProgramName
Run Code Online (Sandbox Code Playgroud)
但是我们可以使用相同的JVM实例来运行另一个程序吗?
Jon*_*oni 12
答案取决于你对"程序"的定义.通常无法在同一JVM中运行具有main方法并且java NameOfClass通常开始的Java程序,因为没有内置的资源或命名空间分离.例如,如果两个程序使用同一个库的冲突版本怎么办?
我们还有用于共享JVM的应用程序,例如企业应用程序.这些程序设计为在"应用程序服务器"的上下文中运行,"应用程序服务器"基本上是用于运行其他程序的程序.应用程序服务器使用类加载器和安全管理器将应用程序资源分开.例如,两个应用程序可能使用库的冲突版本或冲突的类名,并且仍然可以共享JVM,这要归功于通过不同的类加载器加载.