java静态变量和进程

ilo*_*arn 9 java

如果我声明一个变量static并将此类编译成可执行jar.如果我使用这样的批处理文件启动此类:

java MyClass
java MyClass
java MyClass
Run Code Online (Sandbox Code Playgroud)

所有3个进程都会共享同一个变量吗?

Jon*_*eet 17

否.静态变量特定于JVM实例.实际上,它不仅仅是加载类的类加载器.因此,如果你创建了三个独立的类加载器,每个加载器负责加载MyClass(不仅仅是委托给一些普通的父类),它们每个都有一个独立的独立静态变量MyClass.