2013-05-02 64 views
-1

我有一個服務器程序Server.java它可以處理多個客戶端,我使用靜態對象在它連接終止等服務器上的靜態對象會產生任何問題?

如果兩個客戶端連接到服務器和一個客戶端關閉連接,將它導致第二個客戶端連接失敗?

兩個服務器實例中的靜態對象會共享相同的地址空間嗎?

+0

你能分享你的代碼嗎? – 2013-05-02 06:11:19

回答

2

static fields or class variables與類相關聯,而不是與任何對象關聯。該類的每個實例共享一個class變量,該變量位於內存中的一個固定位置。任何對象都可以改變class變量的值,但也可以在不創建類的實例的情況下操作類變量。

+0

yes.exactly。 +1。 – 2013-05-02 06:18:37

0

答案是你所問的所有問題。靜態對象將共享相同的地址,基本上是同一個對象。如果一個請求關閉連接,則執行另一個操作的操作將不被定義。你最好使用靜態連接池。