首先在你們的思考中,確定有影響的,你想一想,單例顧名思義:一個個排隊過... 高訪問量的時候,你能想象服務器的壓力了... 並且用戶體驗也不怎麼好,等待過久~html
實質上這種理解是錯誤的,Java裏有個API叫作ThreadLocal,spring單例模式下用它來切換不一樣線程之間的參數。用ThreadLocal是爲了保證線程安全,實際上ThreadLoacal的key就是當前線程的Thread實例。單例模式下,spring把每一個線程可能存在線程安全問題的參數值放進了ThreadLocal。這樣雖然是一個實例在操做,可是不一樣線程下的數據互相之間都是隔離的,由於運行時建立和銷燬的bean大大減小了,因此大多數場景下這種方式對內存資源的消耗較少,並且併發越高優點越明顯。
spring