模块重载通过动态更新- NetBeans的情况

A. Gregersen, B. Jørgensen
{"title":"模块重载通过动态更新- NetBeans的情况","authors":"A. Gregersen, B. Jørgensen","doi":"10.1109/CSMR.2008.4493297","DOIUrl":null,"url":null,"abstract":"Recent versions of the NetBeans IDE allow us to easily reload NetBeans modules in an instance of a running program. Though overcoming some of the dynamic component-replacement issues, simply running NetBeans' install/uninstall hooks, can lead to dangling object references and hard-to-track class cast exceptions. These problems are caused by Java's class-loading scheme which considers class objects of the same class definition as distinct types when loaded by different class loaders. In this paper we apply a novel dynamic update approach to NetBeans' reload feature which overcomes these shortcomings, thus confirming its general validity. Hence, developers of NetBeans application modules, as well as NetBeans IDE modules, will experience a significant improvement as our approach allows transparent evolution of both code and state.","PeriodicalId":350838,"journal":{"name":"2008 12th European Conference on Software Maintenance and Reengineering","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Module Reload through Dynamic Update - The Case of NetBeans\",\"authors\":\"A. Gregersen, B. Jørgensen\",\"doi\":\"10.1109/CSMR.2008.4493297\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Recent versions of the NetBeans IDE allow us to easily reload NetBeans modules in an instance of a running program. Though overcoming some of the dynamic component-replacement issues, simply running NetBeans' install/uninstall hooks, can lead to dangling object references and hard-to-track class cast exceptions. These problems are caused by Java's class-loading scheme which considers class objects of the same class definition as distinct types when loaded by different class loaders. In this paper we apply a novel dynamic update approach to NetBeans' reload feature which overcomes these shortcomings, thus confirming its general validity. Hence, developers of NetBeans application modules, as well as NetBeans IDE modules, will experience a significant improvement as our approach allows transparent evolution of both code and state.\",\"PeriodicalId\":350838,\"journal\":{\"name\":\"2008 12th European Conference on Software Maintenance and Reengineering\",\"volume\":\"5 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2008-04-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2008 12th European Conference on Software Maintenance and Reengineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CSMR.2008.4493297\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2008 12th European Conference on Software Maintenance and Reengineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSMR.2008.4493297","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

摘要

NetBeans IDE的最新版本允许我们在运行程序的实例中轻松地重新加载NetBeans模块。尽管克服了一些动态组件替换问题,但仅仅运行NetBeans的安装/卸载钩子,就可能导致悬空对象引用和难以跟踪的类强制转换异常。这些问题是由Java的类加载方案引起的,当由不同的类加载器加载时,该方案将相同类定义的类对象视为不同的类型。本文采用一种新的动态更新方法对NetBeans的重载特性进行改进,克服了这些缺点,从而证实了其普遍有效性。因此,NetBeans应用程序模块以及NetBeans IDE模块的开发人员将体验到显著的改进,因为我们的方法允许代码和状态的透明演变。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Module Reload through Dynamic Update - The Case of NetBeans
Recent versions of the NetBeans IDE allow us to easily reload NetBeans modules in an instance of a running program. Though overcoming some of the dynamic component-replacement issues, simply running NetBeans' install/uninstall hooks, can lead to dangling object references and hard-to-track class cast exceptions. These problems are caused by Java's class-loading scheme which considers class objects of the same class definition as distinct types when loaded by different class loaders. In this paper we apply a novel dynamic update approach to NetBeans' reload feature which overcomes these shortcomings, thus confirming its general validity. Hence, developers of NetBeans application modules, as well as NetBeans IDE modules, will experience a significant improvement as our approach allows transparent evolution of both code and state.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信