今天用websocket記錄連接的個數;
模擬少量請求到服務器端的websocket,@Component默認是單例的,讓其注解到MyWebSocket類上;
每次請求過來都是相同的MyWebSocket對象,但是是不同的內存,修改其中之一對象的某些屬性不會改變其他的對象的屬性,可以使用static讓多個連接請求共享變量的最終值,想要獲得實時的值,讓寫操作與讀同步就行。
錯誤的想法:想象成了同一塊內存了,多個請求被同一塊內存處理。
應該是初始是被相同的對象處理,但是這些對象僅僅是引用相同,所占內存不同。
如圖3個客戶端連接上websocket服務器,打印每一個MyWebSocket對象的hashcode:

結果發現是不同的。
感覺上面的還是不對,這里應該是@ServerEndpoint(value = "/websocket"),難道是這個問題?
或者說是每個連接都是不同的MyWebSocket,但是又使用了@Component注解啊,應該是單例呀,怎么互相矛盾呢?
