hel*_*ios 23
JVM是Java虚拟机,它是一个存储空间,其中加载了类(代码)并共享了对象(数据).JVM等同于操作系统进程.
当您键入java...命令行时,您正在执行一个独立的进程,该进程在内存中加载Java类,Java和您的基类(来自您指定的.class文件或.jar).
另一个java...命令将使用自己的内存加载不同的进程,并自行加载类.
实例字混淆:当你说'同一个JVM的两个实例'时.通常将JVM的实例称为单独的进程,它是一个加载的独立JVM.如果你说:两个进程正在运行JVM 1.5,那么,它是相同的JVM,它是相同的版本,但它们是不同的进程,不同的"实例",在所有意义上都是独立的.
Webapp混淆:一个webapp(通过示例)只是一组实例化的类和对象,参与Web服务器中的某些URL.您可以使用10个不同的应用程序启动Tomcat - 即10个不同的类和对象,每个类都参与不同的请求,但实际上它们共享相同的内存空间(操作系统进程).webapp无法触及其他webapp的对象,因为没有人给它引用其他对象(并且类在某种程度上是隐藏的,但这是另一个故事:class-loading).
| 归档时间: |
|
| 查看次数: |
13232 次 |
| 最近记录: |