在Groovy中声明类型
发布时间:2020-12-14 16:36:04 所属栏目:大数据 来源:网络整理
导读:当你没有在groovy中为变量声明一个类型时,我的理解是java虚拟机必须使用反射来确定在执行任何方法之前该对象的类型并且有可能引发运行时错误. 如果这是正确的,那么当您声明类型时呢? java虚拟机是否仍然使用反射,因为原始代码是groovy?或者首先我对这整件
当你没有在groovy中为变量声明一个类型时,我的理解是java虚拟机必须使用反射来确定在执行任何方法之前该对象的类型并且有可能引发运行时错误.
如果这是正确的,那么当您声明类型时呢? java虚拟机是否仍然使用反射,因为原始代码是groovy?或者首先我对这整件事的理解是否正确? 解决方法
看起来好像类型声明对Groovy如何调用方法有任何特定的影响.本质上,如
on the Groovy wiki所述,Groovy不是简单地调用该方法,而是在对象的元类上调用invokeMethod(),该元类委托给元类中定义的方法或执行方法的反射查找.
值得注意的是,元类使用了MetaMethod,在最坏的情况下,它使用缓存的反射查找,即,它只需要进行单个反射查找. 编辑 使用groovypp可以避免一些开销,这为Groovy代码添加了静态类型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |