回覆列表
  • 1 # 網路圈

    Spring作為當下主流的Java框架,它涉及了很多設計模式,如:單例模式、工廠模式、原型模式、模板模式、外觀模式等等,而Spring Bean預設是被設計成單例模式的,為什麼呢?

    什麼是單例Bean ?

    要想弄清楚Spring Bean為什麼預設被設計成單例的,就需要先了解一下什麼是單例模式。單例模式是最為常用的軟體設計模式,透過單例模式能保證一個類只有一個物件例項。

    單例Bean只有在第一次建立Bean時建立,以後此Bean都是複用的,不會頻繁的建立物件了。

    單例Bean的優點

    Spring之所以把Bean預設設計為單例的主要考慮還是效能!單例Bean優點很多,比如說:

    1、複用Bean之後減少了新生例項的效能消耗;

    2、減少了JVM垃圾回收,因為Bean少了,所以回收的物件也就少了;

    3、可以更快的獲取到Bean,因為單例物件生成後Spring就把它存入快取了。

    單例Bean的缺點

    Bean預設被設計為單例的,其實也是有缺點的,最大的缺點就是無法保證執行緒安全!若多個請求依懶同一個Bean例項,假設此Bean是有狀態的,那就會變得混亂,所以這塊要考慮好。

    綜上,對於一般專案而言,單例Bean是最優的選擇,不過在使用單例Bean時不要把Bean設計成有狀態的。

  • 中秋節和大豐收的關聯?
  • 用什麼軟體製作iphone的鈴聲?