Java:两个 classes 的主要方法访问相同的第三个 class

Java: Two classes with main methods accessing the same third class

我写了一个 Java 项目,其中两个 classes 有主要方法(在​​我的例子中,一个 class 是服务器,另一个是客户端,它们是沟通,但这并不重要)。我想知道,如果两个 classes 访问一个和同一个第三个 class,我应该期待什么行为,就像在这个例子中:

class A{

public static ArrayList<String> list = new ArrayList<String>();;

}

class B{

    public static void main(String[] args){
        A.list.add(String.valueOf("Hello"));
        System.out.println(list.size());
    }

}

class C{

    public static void main(String[] args){
        A.list.add(String.valueOf("World"));
        System.out.println(list.size());
    }

}

先运行classB的main方法,再classC的main方法会得到什么?我希望 class C 的主要方法看不到 class B 的主要方法添加的列表元素,换句话说,它会像主要方法一样打印“1” B 哪个 运行 之前,但我不确定。这个对吗?那么这两个主要方法是否看到另一个对 class A 所做的更改?还是每个主要方法都有一个 "version of class A for itself"?

感谢您的帮助!

您好, 丹尼尔

运行 每个 class 将在不同的 JVM 实例(进程)中所以基本上它们是两个不同的程序并且彼此无关

在两个不同的 JVM 中 运行ning。将有两个不同的 class 实例对应于那里的 JVM。两个 JVM 不共享内存或 anything.So 它不会影响您的任何 class 执行 output.If 您将 运行 单个 JVM 中的两个线程然后将发生同步问题。