簡體   English   中英

如何提高Java Web應用程序的性能

[英]How to improve the performance of java web application

問題是第一次,頁面的加載花費了更多的時間,我想減少加載時間。 實際上,在jsp中有5個單選按鈕,每個按鈕數據的onclick將從數據庫中加載。 技術上,控制器調用dao,在dao中的一個函數正在調用與每個單選按鈕相關的5個程序。

因此,我打算使用偵聽器或ajax,這會很好,或者是否有其他更好的選擇來提高性能,然后再實現。

您確實需要確定時間在哪里。

是在您的JavaScript中,在網絡中,在DAO類中還是在數據庫中?

解決方案將取決於問題的確切性質,最可能的罪魁禍首是網絡和/或您的DOA類使用數據庫的效率低下(禮貌地說廢話SQL :-))。

您可以嘗試發送帶有初始請求的第一個(默認)單選按鈕的數據,以使用戶印象更深刻的系統。

如果我說得對,那么您的程序就會浪費時間。 如果您的存儲過程花費時間,則最好將回調與ajax一起使用。

同樣,這取決於用戶是否可以在等待時間內與Web應用程序中的其他功能進行交互,否則回調沒有意義。

您必須根據需求決定設計。

使用ajax阻止更多呼叫。

有關單選按鈕的內容,請參見u是否可以減少函數調用。( 合並函數/使用更多條件 )運行功能可能更耗時...

“控制器調用dao,在dao中一個函數正在調用與每個單選按鈕相關的5個程序。” 聽起來可能有5個線程在運行這些進程,以防這些進程相互阻塞。 首先必須對此進行調查。

如果沒有阻塞或其他可能的並發問題,建議您使用Future http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html

每個未來都將在新線程中開始,一旦完成,將調用回調。 因此,一旦您的5個流程完成,就可以渲染視圖。在並行處理上運行的這5個流程將使您的全局流程快5倍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM