paip.提升用户体验--提升java的热部署热更新能力
生活随笔
收集整理的這篇文章主要介紹了
paip.提升用户体验--提升java的热部署热更新能力
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
paip.提升用戶體驗--提升java的熱部署熱更新能力
想讓java做到php那么好的熱部署能力? "fix online"/在線修復嗎??直接在服務器上修改源碼生效,無需重啟應用。。
作者Attilax? 艾龍,? EMAIL:1466519819@qq.com
來源:attilax的專欄
地址:http://blog.csdn.net/attilax
以下是總結一些方法。。
使用resin4代替tomcat,resin4支持更好的熱部署能力
慎用spring,struts,hibernate等等框架..他們極大的降低了java的熱部署能力
大量使用jsp,少使用class..jsp天然支持熱更新
使用ant等自動編譯java到class..
調試時候,使用遠程調試,也有一些工具直接在運行時可以查看內部變量。。
大量嵌入嵌入JavaScript、php等腳本語言。java jdk包含javascript解析器(javax.script ),可直接在內部調用javascript。。通過在java中嵌入JavaScript,來獲得很高的靈活性(類似于在c++中嵌入lua),大大提升java在熱部署能力,修改代碼很少重啟jvm了。。。
真正的模塊化,運行在不同的JVM里。。現在的許多模塊化簡單是垃圾,修改一個模塊,影響整個JAVA應用,要重啟。。使用多jvm分割,隔離風險。。
采用引擎( java)+腳本(js/php/lua/python)的架構,那種SDK性質的代碼放在引擎中,這些代碼在上線后通常很穩定很少被修改,而真正邏輯的制作就都在腳本層中進行。這樣有兩個好處:1.腳本層的bug基本不會導致程序的crash,因為是沙盒的。2.對于運行的代碼,可以方便的采用熱更新修復bug。
想讓java做到php那么好的熱部署能力? "fix online"/在線修復嗎??直接在服務器上修改源碼生效,無需重啟應用。。
作者Attilax? 艾龍,? EMAIL:1466519819@qq.com
來源:attilax的專欄
地址:http://blog.csdn.net/attilax
以下是總結一些方法。。
使用resin4代替tomcat,resin4支持更好的熱部署能力
慎用spring,struts,hibernate等等框架..他們極大的降低了java的熱部署能力
大量使用jsp,少使用class..jsp天然支持熱更新
使用ant等自動編譯java到class..
調試時候,使用遠程調試,也有一些工具直接在運行時可以查看內部變量。。
大量嵌入嵌入JavaScript、php等腳本語言。java jdk包含javascript解析器(javax.script ),可直接在內部調用javascript。。通過在java中嵌入JavaScript,來獲得很高的靈活性(類似于在c++中嵌入lua),大大提升java在熱部署能力,修改代碼很少重啟jvm了。。。
真正的模塊化,運行在不同的JVM里。。現在的許多模塊化簡單是垃圾,修改一個模塊,影響整個JAVA應用,要重啟。。使用多jvm分割,隔離風險。。
采用引擎( java)+腳本(js/php/lua/python)的架構,那種SDK性質的代碼放在引擎中,這些代碼在上線后通常很穩定很少被修改,而真正邏輯的制作就都在腳本層中進行。這樣有兩個好處:1.腳本層的bug基本不會導致程序的crash,因為是沙盒的。2.對于運行的代碼,可以方便的采用熱更新修復bug。
總結
以上是生活随笔為你收集整理的paip.提升用户体验--提升java的热部署热更新能力的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可能会紧急用到的Linux命令
- 下一篇: 用C语言实现解析简单配置文件的小工具