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。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

夏利车电动窗功能设定

夏利车电动窗功能设定 我车的前有门电动车窗坏了,所以去汽配城购买了电动升降器,准备自己进行更换,修车的要我100元RMB,自己购买配件花了我65省了35元呵呵, 但是自己花了很长时间更换完成之后发现车窗怎么也关不严&…

微软 MS Learn 上线 Blazor 入门教程

微软官方学习网站 MS Learn 上线了 Blazor 入门教程模块,希望通过这个课程,让开发人员了解如何设置开发环境,以及如何使用 Blazor、Visual Studio Code 和 C# 生成你的首个 Web 应用。Build a web app with Blazor - Learndocs.microsoft.com…

Type Casting

Type Casting C : Documents : C Language Tutorial : Type Casting Search: userpass[register] javascript and cookies required C Language TutorialIntroduction?Instructions for useBasics of C?Structure of a program?Variables. Data Types.?Constants?Oper…

世界最牛实验室,堪称诺贝尔奖孵化器!到底是个怎样神奇的存在?!

▲ 点击查看随着诺贝尔各个奖项陆陆续续的公布,卡文迪许实验室,又开始重回大众视野。在这个世界最牛实验室之一的实验室里,仅仅过去了一百多年,就不断涌现出一批又一批世界一流的科学家:把电与磁进行有机统一的麦克斯…

java接口那一节是哪的知识_Java中的接口知识汇总

Java中的接口知识汇总发布于 2020-4-29|复制链接本文给大家汇总介绍了在java中的接口知识,包括为什么要使用接口、什么是接口、抽象类和接口的区别、如何定义接口以及定义接口注意点,希望大家能够喜欢一.为什么要使用接口 假如有一个需求:要求…

用C语言实现解析简单配置文件的小工具

本文介绍作者写的一个小工具,简单的代码中包含了C语言对字符串的处理技巧,对文本文件的简单解析,二进制文件的数据复制的方法,以及格式化输出文本文件的示例。 工具的输入是如下内容的配置文件: [plain] view plaincop…

Delphi应用程序在命令行下带参数执行返回命令行提示的问题

在命令行模式(CMD)下执行时,想获得执行参数,用以下变量: ParamCount:参数个数 ParamStr:为参数数组 如果想在执行完一个操作后在命令行作出相应提示,就应该在相应位置放入…

开源的负载测试/压力测试工具 NBomber

负载测试和压力测试对于确保 web 应用的性能和可缩放性非常重要。尽管它们的某些测试是相同的,但目标不同。负载测试:测试应用是否可以在特定情况下处理指定的用户负载,同时仍满足响应目标。应用在正常状态下运行。压力测试:在极端…

人生失败的31种致命原因

人生失败的31种致命原因 一、不利的遗传背景。天生智力不足的人,是没什么办法可想的。唯一的补救办法就是“以勤补拙”。 二、缺乏明确的人生目标,凡是没有明确人生目标的人,便没有成功的希望,在我曾经分析过的100人中&#x…

男人都应该懂的一张图。。 | 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅美国人为了教民众如何辨别韩国人制作的韩国女性标准照左右军事成为一个有钱人的概率有多高?最新版男人都该懂的汽车品牌从属关系图twi:NOCO_1002肥胖和骨架没有必然联系800斤胖子的X射线照 科普君XueShu 雪树来猜一猜这是…

python 抓取的网页默认是bytes的,要转码

python 抓取的网页默认是bytes的,要转码.查看网页源码可以看到,我本次抓取的网页的编码方式是utf-8的.req urllib.request.Request(urlmyurl,headers myheaders) data urllib.request.urlopen(req).read() print(data.decode("UTF-8"))这样就正常显示中文了转载于…

FireFox与IE的兼容

1. JavaScript对象的引用 为了减少JavaScript对象的下载次数,Tasian只会在浏览器第一次请求应用时才会下载JavaScript文件。JavaScript对象只会驻留在Top级窗体,任何其它窗体需要引用到该JavaScript对象,只需要在引如下的方式进行引用就行&am…

多语言应用开发中本地化信息对照表

多语言应用开发中本地化信息对照表。包含区域编号、本地化名称、英语名称、中文名称、国家地区码、语言代码和流通币种等。区域编号本地化名称英语名称中文名称国家地区语言流通币种排序id-idBahasa IndonesiaIndonesian印度尼西亚语IDidIDR1ms-myBahasa MelayuMalay (Malaysia…

学做菜咯

以前在QQ空间发的贴,现在转到这边来,嘿嘿。青蛙达 - 07月28日- 14时28分今天中午做我个人最喜欢的菜之一《咖喱鸡饭》 早上到超市买了: 大蒜头、洋葱、南瓜、鸡翅膀、咖喱粉、胡椒粉、白糖、桂皮 回来发现原来把辣椒粉当成胡椒粉买回来了....…

java一般方法有哪些方法有哪些方法_Java代码优化有哪些方法?

Java代码优化是Java编程开发很重要的一个步骤,Java代码优化要注重细节优化,一个两个的细节的优化,产生的效果不大,但是如果处处都能注意代码优化,对代码减少体积、提高代码运行效率是有巨大帮助的,还能在一…

Facebook 中国程序员之死

全世界只有3.14 % 的人关注了青少年数学之旅9 月 19 日,一位 Facebook 软件工程师从加州门洛帕克(Menlo Park)总部四楼纵身跳下,结束年轻的生命。Facebook 新闻发言人证实确有其事,并说公司将会联系员工家人。门洛帕克…

HTTP头信息

通常 HTTP 消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP 的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域…

[导入]数据库物理模型设计的其他模式之继承模式

连载之7原创:胖子刘(转载请注明作者和出处,谢谢)数据库物理模型设计的其他模式除了上面提到的四种主要设计模式,还有一些其他模式,在某些项目中可能会用到,在这里先简单做个说明,暂不…

最近ゲームにはまってる。

小D的[今日口语]栏目里今天教的一句话正好表达了我最近的状态最近(さいきん)ゲームにはまってる(最近我很迷游戏)这个“迷”字用得很对感觉自己现在还是孩子状态会沉溺于一种东西而无法自拔周末的时候一般都是游戏完累了才有心情去…

dialog element 删掉标题_ElementUI 销毁Dialog数据(简单粗暴)

在使用element开发通过之中使用Dialog弹窗创建数据或者数据回显在经常不过了。而且数据创建和数据编辑正常都是使用同一组件。出现的问题:title"提示弹窗":visible.sync"dialogVisible"width"30%"destroy-on-close>使用dialog 提供…