java游戏服务器怎么实现热更新

java游戏服务器怎么实现热更新,第1张

在Java中,要实现热部署,首先,你得明白,Java中类的加载方式。每一个应用程序的类都会被ClassLoader加载,所以,要实现一个支持热部署的应用,我们可以对每一个用户自定义的应用程序使用一个单独的ClassLoader进行加载。然后,当某个用户自定义的应用程序发生变化的时候,我们首先销毁原来的应用,然后使用一个新的ClassLoader来加载改变之后的应用。而所有其他的应用程序不会受到一点干扰。

热更新的思路:

定义一个用户自定义应用程序的接口,这是因为,我们需要在容器应用中去加载用户自定义的应用程序。

我们还需要一个配置文件,让用户去配置他们的应用程序。

应用启动的时候,加载所有已有的用户自定义应用程序。

为了支持热部署,我们需要一个监听器,来监听应用发布目录中每个文件的变动。这样,当某个应用重新部署之后,我们就可以得到通知,进而进行热部署处理。

景安河南最大的多线服务器托管商,提供专业的双机热备、负载均衡等高可用/高并发服务!

因为jsp页面被编译后有一个固定的基类,并且继承层数不会超过一层,像ASP.NET里面所有的页面都是继承自Page。

Java也是一个道理,当服务器知道被更新的类型只是Jsp页面(页面类的子类)那就只需要重新加载jsp页面文件即可,因为其基类没有可能被更改,而且jsp页面也没有可能从其它基类总继承而来,所以jsp页面是相对独立的,可以独立刷新或重新加载。

但是class的更新服务器并不知道你更改的class是否其它类型的基类,所以只能从新加载整个项目。

所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。

对于Java应用程序来说,热部署就是在运行时更新Java类文件。在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色。

大多数基于Java的应用服务器,包括EJB服务器和Servlet容器,都支持热部署。类装入器不能重新装入一个已经装入的类,但只要使用一个新的类装入器实例,就可以将类再次装入一个正在运行的应用程序。

扩展资料

辅助用户使用和管理PKUAS的工具集合,主要包括部署工具、配置工具与实时监控工具。其中,部署工具既可热部署整个应用,也可热部署单个构件,从而实现应用的在线演化;配置工具允许用户配置整个服务器或单个应用;而实时监控工具允许用户实时观察系统的运行状态并作出相应调整。

没有热部署和有热部署的开发效率是天差地别的。这个问题还受很多第三方软件包(Struts,Spring,Hibernate)的限制。本来可以热部署,加入了第三方的包就不可以了。所以,先说明详细的 软件环境,和程序配置是非常必要的。

参考资料来源:百度百科-热部署


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/369136.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-12
下一篇2023-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存