servlet單例模式的理解

2021-07-22 03:18:47 字數 599 閱讀 6885

理解兩個問題足以,問題如下:

1、如果不同的2個使用者同時對這個**的不同業務同時發出請求(如註冊和登陸),那容器裡有幾個servlet呢??

2、不同的使用者同時對同乙個業務(如註冊)發出請求,那這個時候容器裡產生的有是幾個servlet例項呢?

答案:引子:乙個web容器,可以有多個servlet。 對提交到同乙個servlet類的多個業務請求,共享乙個servlet物件(即這個servlet類只被例項化一次)

但別忘了,請求還可以從乙個servlet forward到另乙個servlet,因此乙個請求是可以產生多個servlet的,但是由不同的servlet類例項化的,每個servlet類都只被例項化一次,直到應用程式終止或伺服器shutdown

問題1的答案:容器裡有2個servlet(當然,這是在「乙個servlet對應一種業務請求」的前提下,如果你要把兩個業務邏輯寫在同乙個servlet內另當別論了)

問題2的答案:只有乙個servlet例項。乙個servlet是在第一次被訪問時載入到記憶體並例項化的。同樣的業務請求共享乙個servlet例項。不同的業務請求一般對應不同的servlet. 想也知道拉,如果乙個**要被幾千萬人同時登入,如果建立幾千萬個例項的話伺服器還怎麼跑得動?

單例模式理解

單例模式 三要素 1 私有的構造方法 2 私有的靜態的例項物件 3 公共的靜態的提供訪問方法 根據單例模式的建立時機可以將其分為兩種型別 1 懶漢模式 在系統初始化時不會做初始化,會在什麼時候使用到時做初始化操作。public class ehanmoshi private static lanha...

單例模式理解

摘要 本文首先概述了單例模式產生動機,揭示了單例模式的本質和應用場景。緊接著,我們給出了單例模式在單執行緒環境下的兩種經典實現 餓漢式 和懶漢式,但是餓漢式是執行緒安全的,而懶漢式是非執行緒安全的。在多執行緒環境下,我們特別介紹了五種方式來在多執行緒環境下建立執行緒安全的單例,即分別使用synchr...

理解單例模式

對單例模式這一部落格的理解。在多執行緒時不能正常工作,因為沒有加synchronized 所以嚴格來說不能算是單例模式。public class singleton public static singleton getinstance return instance public class si...