当前位置 : 主页 > 网络安全 > 测试自动化 >

性能 – Scala动态类管理

来源:互联网 收集:自由互联 发布时间:2021-06-22
我想知道 Scala中是否可以使用以下内容(但我认为这个问题也适用于 Java): 动态创建一个Scala文件(好的,这里没问题) 编译它(我认为这不是一个真正的问题) 动态加载/卸载新类 除了知道动
我想知道 Scala中是否可以使用以下内容(但我认为这个问题也适用于 Java):

>动态创建一个Scala文件(好的,这里没问题)
>编译它(我认为这不是一个真正的问题)
>动态加载/卸载新类

除了知道动态代码加载/重新加载是否可行(这在Java中是可能的,所以我认为它在Scala中也是可行的)我还想知道这在性能下降方面的含义(我可以有很多类,没有名字冲突,但真的很多!).

TIA!

P.S.:我知道有关Scala中类加载的其他问题,但我还没有找到关于性能的答案!

是的,你想做的一切当然是可能的.您可能想看看 ScalaMock,这是动态创建Scala源代码的示例.在 SBT,这是从代码调用编译器的一个例子.然后有许多不同的系统可以动态加载类 – 以 loadLibrary的文档为出发点.

但是,根据您想要实现的目标,您可能希望查看Scala Macros.它们提供了与生成源代码然后编译它所获得的相同的灵活性,但没有该方法的许多缺点. ScalaMock的原始版本过去通过生成源代码来工作,但是I’m in the process of moving to using macros instead.

网友评论