【24h】

Multi-Dispatch in the Java Virtual Machine: Design and Implementation

机译:Java虚拟机中的多调度:设计和实现

获取原文
获取原文并翻译 | 示例

摘要

Mainstream object-oriented languages, such as C++ and Java, provide only a restricted form of polymorphic methods, namely uni-receiver dispatch. In common programming situations, developers must work around this limitation. We describe how to extend the Java Virtual Machine to support multi-dispatch and examine the complications that Java imposes on multi-dispatch in practice. Our technique avoids changes to the Java programming language itself, maintains source code and library compatibility, and isolates the performance penalty and semantic changes of multi-method dispatch to the program sections which use it. We have micro-benchmark and application-level performance results for a dynamic Most Specific Applicable (MSA) dispatcher, a framework-based Single Receiver Projections (SRP) dispatcher, and a tuned SRP dispatcher. Our general-purpose technique provides smaller dispatch latency than programmer-written double-dispatch code with equivalent functionality.
机译:主流的面向对象语言,例如C ++和Java,仅提供受限形式的多态方法,即单接收器分派。在常见的编程情况下,开发人员必须解决此限制。我们将描述如何扩展Java虚拟机以支持多调度,并在实践中检查Java强加于多调度的复杂性。我们的技术避免了对Java编程语言本身的更改,保持了源代码和库的兼容性,并隔离了性能损失和将多方法分派给使用它的程序部分的语义变化。我们具有动态最特定应用(MSA)调度程序,基于框架的单一接收器投影(SRP)调度程序和已调整SRP调度程序的微基准和应用程序级性能结果。与具有等效功能的程序员编写的双调度代码相比,我们的通用技术提供的调度延迟更短。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号