根据针对运行时here的Javadocs:
每个Java应用程序都有一个Runtime类的实例,该实例允许该应用程序与应用程序运行所在的环境进行交互。当前运行时可以从getRuntime方法获得。应用程序无法创建自己的此类的实例。
我的问题是:他们对应用程序的定义是什么?
每个JAR / WAR / EAR是否都被视为独立应用程序?用Driver.class
方法的普通ole'main()
类怎么办?容纳EAR和EJB的Java EE容器又如何呢?
我想我想了解一个复杂的(Java EE)系统中可以建立并运行多少Runtime
实例。并且理解需要我理解Java术语中哪些特定的“事物”构成了“应用程序”。
最佳答案
简而言之,每个Java虚拟机执行一次Runtime
类的一个实例。
作法:Runtime
类利用Singleton设计模式来控制JVM运行期间的实例数量。请注意,该类没有公共可用的构造函数,因此获取实例的唯一方法是使用静态Runtime.getRuntime()
方法。此方法将始终返回相同的实例。
原因:此类对JVM的运行时进行建模,因此它是将每次JVM执行的实例数限制为一个的准确表示。