当前位置: 首页 > news >正文

金坛住房和城乡建设局网站安徽关键词seo

金坛住房和城乡建设局网站,安徽关键词seo,福永做网站,asp个人网站下载思路 当一个java的类文件发生变更,如果动态的热更新这个新的类文件?目前来说,有两种可能的方式 新增一个自定义ClassLoader,名为NC,让NC去load这个新的类文件,这样就完成了新的类定义的替换 但目前Java有…

思路

当一个java的类文件发生变更,如果动态的热更新这个新的类文件?目前来说,有两种可能的方式

  1. 新增一个自定义ClassLoader,名为NC,让NC去load这个新的类文件,这样就完成了新的类定义的替换
    • 但目前Java有一种特性:ClassLoader不支持卸载一个已装载的类,且ClassLoader是基于双亲委派机制来加载一个类的字节码文件的。这就导致一个问题,自定义的ClassLoader应该更新一个名为 findClass 的父类方法,让自定义的ClassLoader不要向父级ClassLoader去询问这个类是否已加载过,否则就会抛出企图重复定义同名类的异常。
    • 如何保证所有对象都经过自定义ClassLoader去加载?目前来说,可以通过JDK 7中引入的 WatchService 的方式,监听项目中的class文件变更,获取其字节码文件,让其通过自定义ClassLoader去 loadClass,这种方式用来动态更新类定义的弊端过大,每次类文件发生变更,就需要新建一个ClassLoader去loadClass
  2. 通过 javaagent 的方式,创建 Transformer ,通过 Instrumentation 对象提供的 redefineClasses 方法,用这种方式,将监听到的类文件变更后的字节码文件,转为 byte[] 格式,让其重新定义,这种方式相比较第一种方法更为高效可靠。

Galois 通过监听项目代码变更,使用 redefineClasses 方法来重新装载类,并通过 ASM 侵入 SpringBoot 框架 和 MyBatis 框架核心代码的方式,获取到能重新装载 BeanMapper 的核心对象,以此实现项目的代码热部署更新。

http://www.hkea.cn/news/383347/

相关文章:

  • wordpress互动游戏黄石seo诊断
  • 网页设计作品下载志鸿优化设计
  • 宾馆网站制作seminar是什么意思
  • 网站建设的进度表爱站查询工具
  • 深圳聘请做网站人员长春刚刚最新消息今天
  • 汽配人网做网站沈阳网站seo公司
  • 网站 短链接怎么做网站建设网站定制
  • 网站开发凭证做什么科目百度推广关键词多少合适
  • 网站正在建设 h5模板新闻热点
  • 龙岗公司网站建设怎么上百度搜索
  • 七米网站建设网站自动推广软件免费
  • 余姚公司做网站跨境电商怎么做
  • 顺义哪有做网站厂家百度快照在哪里找
  • 深圳南山网站建设重庆seo黄智
  • 教育微网站建设我要学电脑哪里有短期培训班
  • 民宿预订网站制作推广方案怎么做
  • 做网站都要掌握什么网页模版
  • 网站怎么做qq微信登陆长沙优化网站哪家公司好
  • 为什么上不了建设银行个人网站漳州网络推广
  • 天津手机网站建站培训代运营公司可靠吗
  • 网站制作的一般步骤长春网站优化平台
  • Python做网站 性能上海seo培训中心
  • 网上投诉平台公众号排名优化
  • 网页模板网站推荐媒体公关是做什么的
  • 泰安的网站建设公司爱站网域名查询
  • 台州椒江网站制作公司广告推销
  • 南康做网站合肥seo招聘
  • 成都网站建设定长沙专业网站制作
  • 有什么网站是python做的如何自己开发一个平台
  • 网站建设标志设计北京网站优化公司