性能指標
在開始優化應用程序的性能之前,我們需要理解諸如可擴展性、性能、可用性等方面的非功能需求。
以下是典型Web應用程序常用的一些性能指標:
應用程序平均響應時間
系統必須支持的平均併發用戶數
在負載高峰期間,預期的每秒請求數
這些指標可以通過使用多種監視工具監測到,它們對分析性能瓶頸和性能調優有著非常大的作用。
創建對象:
避免在循環體中創建對象,循環前應該創建對象,避免浪費更多內存空間和增加GC負擔
這種情況在我們的實際應用中經常遇到,而且我們很容易犯類似的錯誤,例如下面的代碼:
for (int i = 0; i < 10000; i ++) {
Object obj = new Object(); //每次都在棧中創建了對象引用obj
System.out.println("obj= "+ obj);
}
上面代碼的書寫方式相信對你來說不會陌生,也許在以前的應用開發中你也這樣做過,尤其是在枚舉一個Vector對象中的對象元素的操作中經常會這樣書寫,但這卻違反了上述規則,因為這樣會浪費較大的內存空間,正確的方法如下所示:
Object obj = null; //在循環外創建對象引用,只是在棧中創建了一個對象引用obj
for (int i = 0; i < 10000; ++i) {
obj = new Object();
System.out.println("obj= "+ obj);
}
監控應用程序
要使用Retrace進行Java應用程序的開發,首先需要在Stackify上申請免費試用賬號。然後,將我們自己的Spring Boot應用程序配置為Linux服務。我們還需要在託管應用程序的服務器上安裝Retrace代理,按照這篇文章所述的操作即可。
Retrace代理和要監控的Java應用程序啟動後,我們就可以到Retrace儀表板上單擊AddApp按鈕添加應用了。添加應用完成之後,Retrace將開始監控應用程序了。
尚學堂立志解決中國教育不公平和低效率問題,幫助千千萬萬被傳統教育方式耽誤的人,傳授實用、前沿的知識,成就學員個人理想,為愛你的人和你愛的人創造美好的生活。尚學堂12大精英團隊+各類實戰項目,真正實現1+1>10的目標效果。幫助學員迅速成長,持久騰飛,成就學員“高富帥”人生。
閱讀更多 Java的筆記 的文章