提高JSP應用程式執行速度的七大絕招
其中scope屬性指出了這個bean的生命週期。預設的生命週期為page。如果你沒有正確地選擇bean的生命週期的話,它將影響系統的效能。 舉例來說,如果你只想在一次請求中使用某個bean,但你卻將這個bean的生命週期設定成了session,那當這次請求結束後,這個bean將仍然保留在記憶體中,除非session超時或使用者關閉瀏覽器。這樣會耗費一定的記憶體,並無謂的增加了JVM垃圾收集器的工作量。因此為bean設定正確的生命週期,並在bean的使命結束後儘快地清理它們,會使用系統性能有一個提高。 其它一些有用的方法 1、在字串連線操作中儘量不使用“+”操作符:在java程式設計中,我們常常使用“+”操作符來將幾個字串連線起來,但你或許從來沒有想到過它居然會對系統性能造成影響吧?由於字串是常量,因此JVM會產生一些臨時的對像。你使用的“+”越多,生成的臨時對像就越多,這樣也會給系統性能帶來一些影響。解決的方法是用StringBuffer對像來代替“+”操作符。 2、避免使用System.out.println()方法:由於System.out.println()是一種同步呼叫,即在呼叫它時,磁碟I/O操作必須等待它的完成,因此我們要儘量避免對它的呼叫。但我們在除錯程式時它又是一個必不可少的方便工具,為了解決這個矛盾,我建議你最好使用Log4j工具(http://Jakarta.apache.org ),它既可以方便除錯,而不會產生System.out.println()這樣的方法。 3、ServletOutputStream 與 PrintWriter的權衡:使用PrintWriter可能會帶來一些小的開銷,因為它將所有的原始輸出都轉換為字元流來輸出,因此如果使用它來作為頁面輸出的話,系統要負擔一個轉換過程。而使用ServletOutputStream作為頁面輸出的話就不存在一個問題,但它是以二進位制進行輸出的。因此在實際應用中要權衡兩者的利弊。 總結 本文的目的是通過對servlet和JSP的一些調優技術來極大地提高你的應用程式的效能,並因此提升整個J2EE應用的效能。通過這些調優技術,你可以發現其實並不是某種技術平臺(比如J2EE和.NET之爭)決定了你的應用程式的效能,重要是你要對這種平臺有一個較為深入的瞭解,這樣你才能從根本上對自己的應用程式做一個優化。