Java Web項目應當小型化

用Java開發Web項目,隨着項目功能的增加,類也越來越多,系統越來越臃腫,內存佔用也越來越大,如果用到jsp,jsp文件也越來越多,這帶來幾點問題。

  1. 由於GC帶來的卡頓。我們知道GC的時候,整個JVM是暫停的。這時候是不能處理任何請求的。表現到用戶端,就是突然卡住不動了,這對用戶體驗有較大影響。
  2. permGen space不足。這個是Java的永久代內存,如果動態類(如jsp)過多,很容易出現。當然你可以通過擴大永久代內存空間解決。
  3. 升級麻煩。所有功能綁在一起,哪怕動一個東西,所有都得跟着升級。

所以我建議把web項目,根據功能模塊進行拆分,用較小的數個Web項目代替,並且安裝到多個ApplicationServer實例中(因爲每個ApplicationServer本質上是一個jvm),這樣每個服務都比較小,內存佔用不大,更加靈活。缺點是編程上可能帶來一些麻煩,比如公用類庫會重複使用,這可以把系統部分功能作爲類庫拿出來在整個項目共享來解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章