JAVA中怎麼處理高併發的狀況

 1、背景綜述html

        併發就是可使用多個線程或進程,同時處理(就是併發)不一樣的操做。數據庫

        高併發的時候就是有不少用戶在訪問,致使系統數據不正確、糗事數據的現象。對於一些大型網站,好比門戶網站,在面對大量用戶訪問、高併發請求方面,基本的解決方案集中在這樣幾個環節:使用高性能的服務器、高性能的數據庫、高效率的編程語言、還有高性能的Web容器。這幾個解決思路在必定程度上意味着更大的投入。編程

使用通常的synchronized或者是lock或者是隊列都是沒法知足高併發的問題。緩存

2、解決方法有三:安全

          1.使用緩存服務器

         2.使用生成靜態頁面併發

              html純靜態頁面是效率最高、消耗最小的頁面。咱們可使用信息發佈系統來實現簡單的信息錄入自動生成靜態頁面,頻道管理、權限管理和自動抓取等功能,對於一個大型網站來講,擁有一套高效、可管理的信息發佈系統CMS是必不可少的。編程語言

         3.圖片服務器分離高併發

              圖片是最消耗資源的,僵圖片和頁面分離能夠下降提供頁面訪問請求的服務器系統壓力,而且能夠保證系統不會由於圖片問題而崩潰。性能

         3.寫代碼的時候減小沒必要要的資源浪費:

  • 不要頻繁得使用new對象,對於在整個應用中只須要存在一個實例的類使用單例模式.對於String的鏈接操做,使用StringBuffer或者StringBuilder.對於utility類型的類經過靜態方法來訪問。
  • 避免使用錯誤的方式,如Exception能夠控制方法推出,可是Exception要保留stacktrace消耗性能,除非必要不要使用 instanceof作條件判斷,儘可能使用比的條件判斷方式.使用JAVA中效率高的類,好比ArrayList比Vector性能好。)
  • 使用線程安全的集合對象vector  hashtable
  • 使用線程池
相關文章
相關標籤/搜索