我有一个Server程序Server.java,可以处理多个客户端,我在其中使用静态对象进行连接终止等。
如果两个客户端连接到服务器并且一个客户端关闭连接并且它会导致第二个客户端的connectionlost?
两个服务器实例中的静态对象是否共享相同的地址空间?
答案 0 :(得分:2)
static fields or class variables
与该类相关联,而不是与任何对象相关联。该类的每个实例共享一个class
变量,该变量位于内存中的一个固定位置。任何对象都可以更改class
变量的值,但也可以在不创建类实例的情况下操作类变量。
答案 1 :(得分:0)
对于您提出的所有问题,答案是肯定的。静态对象将共享相同的地址,并且基本上是同一个对象。如果一个请求关闭,则执行另一个操作的连接将是未定义的。最好使用静态连接池。