1. 程式人生 > >Welcome to 【 磊 子 收 藏 】

Welcome to 【 磊 子 收 藏 】

 一、背景綜述

        併發就是可以使用多個執行緒或程序,同時處理(就是併發)不同的操作。

        高併發的時候就是有很多使用者在訪問,導致系統資料不正確、糗事資料的現象。對於一些大型網站,比如入口網站,在面對大量使用者訪問、高併發請求方面,基本的解決方案集中在這樣幾個環節:使用高效能的伺服器、高效能的資料庫、高效率的程式語言、還有高效能的Web容器。這幾個解決思路在一定程度上意味著更大的投入。

使用一般的synchronized或者是lock或者是佇列都是無法滿足高併發的問題。

二、解決方法有三:

          1.使用快取

         2.使用生成靜態頁面

              html純靜態頁面是效率最高、消耗最小的頁面。我們可以使用資訊釋出系統來實現簡單的資訊錄入自動生成靜態頁面,頻道管理、許可權管理和自動抓取等功能,對於一個大型網站來說,擁有一套高效、可管理的資訊釋出系統CMS是必不可少的。

         3.圖片伺服器分離

              圖片是最消耗資源的,僵圖片和頁面分離可以降低提供頁面訪問請求的伺服器系統壓力,並且可以保證系統不會因為圖片問題而崩潰。

         3.寫程式碼的時候減少不必要的資源浪費:

  • 不要頻繁得使用new物件,對於在整個應用中只需要存在一個例項的類使用單例模式.對於String的連線操作,使用StringBuffer或者StringBuilder.對於utility型別的類通過靜態方法來訪問。
  • 避免使用錯誤的方式,如Exception可以控制方法推出,但是Exception要保留stacktrace消耗效能,除非必要不要使用 instanceof做條件判斷,儘量使用比的條件判斷方式.使用JAVA中效率高的類,比如ArrayList比Vector效能好。)
  • 使用執行緒安全的集合物件vector  hashtable
  • 使用執行緒池