併發與高併發

1、併發:html

  所謂併發就是:同時擁有兩個或多個線程,若是程序在單核處理器上運行,多個線程將交替地換入或者換出內存,這些線程是同時「 存在 」的,每一個線程都處於執行過程當中的某個狀態,若是運行在多核處理器上,此時,程序中每一個線程都將分配到一個處理器核上,所以能夠同時運行。也就是說,併發就是多個線程操做相同的物理機中的資源,保證其線程安全,合理的利用資源。算法

2、高併發:數據庫

  是如今互聯網設計系統中須要考慮的一個重要因素之一,一般來講,就是經過嚴謹的設計來保證系統可以同時並行處理不少的請求。這就是你們常說的「 高併發 」。也就是說系統可以在某一時間段內提供不少請求,可是不會影響系統的性能。若是想設計出高可用和高性能的系統,就應該從不少的方面來考慮,例如應該從硬件、軟件、編程語言的選擇、網絡方面的考慮、系統的總體架構、數據結構、算法的優化、數據庫的優化等等多方面。
編程

3、高併發處理:緩存

 

高併發的解決方法有倆種,一種是使用緩存、另外一種是使用生成靜態頁面;還有就是從最基礎的地方優化咱們寫代碼減小沒必要要的資源浪費:安全

 

1.不要頻繁的new對象,網絡

  對於在整個應用中只須要存在一個實例的類使用單例模式.數據結構

  對於String的鏈接操做,使用StringBuffer或者StringBuilder.架構

  對於utility類型的類經過靜態方法來訪問。併發

 

2. 避免使用錯誤的方式,如Exception能夠控制方法推出,可是Exception要保留stacktrace消耗性能,除非必要不要使用 instanceof作條件判斷,

  儘可能使用比的條件判斷方式.使用JAVA中效率高的類,好比ArrayList比Vector性能好。

詳見https://www.cnblogs.com/huojg-21442/p/7120173.html?tdsourcetag=s_pcqq_aiomsg (侵刪)

相關文章
相關標籤/搜索