亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java處理高并發的方法

發布時間:2020-09-17 09:56:56 來源:億速云 閱讀:161 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關java處理高并發的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

java處理高并發的方法:

1、從最基礎的地方做起,優化我們寫的代碼,減少必要的資源浪費。

a、避免頻繁的使用new對象,對于整個應用只需要存在一個實例的類,我們可以使用單例模式。對于String連接操作,使用StringBuffer或StringBuilder,對于工具類可以通過靜態方法來訪問。

b、避免使用錯誤的方式,盡量不用instanceof做條件判斷。使用java中效率高的類,比如ArrayList比Vector性能好。

2、html靜態化

我們通過一個鏈接地址訪問,通過這個鏈接地址,服務器對應的模塊處理這個請求,轉到對應的jsp頁面,最后生成我們要的數據。但是,如果上千萬個請求的話,有太多的高并發請求,那么就會加重服務器的壓力,最壞的情況是把服務器down掉。那么如何避免這種情況的出現呢?如果我們把最初對test.do的請求結果保存成一個html文件,然后每次用戶都去訪問這個html文件,這樣就不用再去訪問服務器了,服務器的壓力不就減少了?

那如何自動的生成靜態頁面,當用戶去訪問,會自動的生成test.html ,然后再顯示給用戶。

3、圖片服務器分離

對于web服務器來說,圖片是最消耗資源的,于是我們有必要把圖片與頁面進行分離,我們把圖片放到獨立的圖片服務器。這樣的架構可以降低提供頁面訪問請求的服務器系統壓力,并且可以保證系統不會因為圖片的問題而崩潰。在圖片服務器上,我們可以對不同的配置進行優化。

4、使用緩存

盡量使用緩存,包括用戶緩存,信息緩存等,多花點內存來做緩存,可以大量減少與數據庫的交互,提高性能。

5、分批傳送

在做某項目的時候,一次傳遞的參數太多,而且數據庫規定一次最多傳遞的參數最多是三萬條,當時有五萬條記錄,那怎么傳送呢?最終是分批傳送,電梯里一次乘不下那么多的人,會報超重的bug,那就分批把人送上去。

還有一次在考試系統中,如果那么多的考試人員同時提交到數據庫中,數據庫的壓力增大,有時會被down掉,當時采用的方法是使用ajax異步傳輸,沒有等待考生點擊提交按鈕的時候,就把考生的答案自動提交,這樣也避免了突然斷電考生前面做過的題出現丟失的現象。

6、數據庫集群

當面對復雜的應用,用戶大量訪問的時候,一臺數據很快無法滿足需求,于是我們需要使用數據庫集群或者庫表散列。

我們在應用程序中安裝業務和應用或者功能模塊將數據進行分離,不同的模塊對應不同的數據庫或表,再按照一定的策略對某個頁面或者功能進行更小的數據庫散列。

7、DB優化

a、在數據庫設計的時候就要考慮到后期的維護,數據庫三范式是我們設計數據庫索要遵循的原則。

b、索引的建立:建立索引要適當,如果一個表經常用來被查詢,對于增加和修改很少被用到,我們就可以為這個表建立索引,因為對于增加和修改和刪除操作時,我們對索引的維護要大大超過索引給我們帶來的效率。

c、表字段的類型選擇要恰當包括字段的長度、類型等,要根據實際存儲的數據進行選擇,長度不要過長,否則會影響效率。

d、外鍵要慎用,因為主鍵代表這一張表,而外鍵代表一群表,對表之間進行了關聯,在刪除修改等需要我們關聯。

e、在數據庫操作上

盡量使用prepareStatement,少用Statement,因為PrepareStatement是進行預編譯的。

connection設置為readOnly,Connection是對書庫連接,屬于重量級,我們使用即可。

連接池的使用,我們可以修改數據庫默認的連接數。

8、硬件上做到負載均衡

感謝各位的閱讀!關于java處理高并發的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苍溪县| 磴口县| 甘肃省| 五寨县| 定远县| 竹北市| 稻城县| 衡水市| 邹平县| 石柱| 云阳县| 淮南市| 宜君县| 牡丹江市| 寻乌县| 成都市| 镇远县| 平塘县| 赞皇县| 太仓市| 西峡县| 福鼎市| 灌云县| 左权县| 苗栗县| 奉新县| 苏尼特左旗| 渭南市| 明溪县| 古交市| 金阳县| 专栏| 丹江口市| 宣武区| 西峡县| 鄂温| 临江市| 庆阳市| 博客| 淄博市| 乐至县|