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

2021-08-06 02:43:18 字數 539 閱讀 3681



一、背景綜述

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

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

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

二、解決方法有三:

1.使用快取

2.使用生成靜態頁面

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

3.伺服器分離

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

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

怎麼處理高併發

處理高併發有六種方法 1 系統拆分,將乙個系統拆分為多個子系統,用dubbo來搞。然後每個系統連乙個資料庫,這樣本來就乙個庫,現在多個資料庫,這樣就可以抗高併發。2 快取,必須得用快取。大部分的高併發場景,都是讀多寫少,那你完全可以在資料庫和快取裡都寫乙份,然後讀的時候大量走快取不就得了。畢竟人家r...

高併發的處理

前幾天面試的時候被人問到,關於高併發的處理。無奈自己只知道從sql語句和表分割槽索引,靜態頁,快取等優化。其他的優化方法不了解。今天搜尋了下資料,找到幾種解決方案。1 html靜態化 2 伺服器分離 3 資料庫集群和庫表雜湊 4 快取 5 映象 6 負載均衡 乙個典型的使用負載均衡的策略就是,在軟體...

處理高併發的方法

1 系統拆分 將乙個系統拆分為多個子系統,用dubbo來搞。然後每個系統連乙個資料庫,這樣本來就乙個庫,現在多個資料庫,這樣就可以抗高併發。2 快取 大部分的高併發場景,都是讀多寫少,那你完全可以在資料庫和快取裡都寫乙份,然後讀的時候大量走快取不就得了。畢竟人家redis輕輕鬆鬆單機幾萬的併發啊。沒...