加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

是否有Scala意识到像Javassist这样的高级字节码操作工具?

发布时间:2020-12-16 09:34:39 所属栏目:安全 来源:网络整理
导读:我正在寻找一个像Javassist这样的高级字节码操作工具,但是它可以理解一些Scala特性。较低级别的字节码操作工具应该是相对不可知的,但对于我的用例来说,Javassist级别的东西好多了。然而,该级别的工具需要了解源语言及其字节码映射。对Scala有类似的东西
我正在寻找一个像Javassist这样的高级字节码操作工具,但是它可以理解一些Scala特性。较低级别的字节码操作工具应该是相对不可知的,但对于我的用例来说,Javassist级别的东西好多了。然而,该级别的工具需要了解源语言及其字节码映射。对Scala有类似的东西吗?
到目前为止,我已经能够使用Javassist和Scala进行非常简单的操作,但是由于某些Scala / Java的差异,我已经被其他一些事情所困扰了。

解决方法

我不认为这样的工具存在(还)。目前的情况是,您不能混合使用不同版本的Scala编译的编译单元,即使用Scala 2.9编译的类不能与使用Scala 2.10编译的类进行互操作。

当您使用Scala 2.10时,您可以使用Scala reflection和Scala macros达到与字节码修改类似的目标。对我来说,这看起来像是最未来的证明方式。

您的一个问题是为了添加串行版本ID。这绝对可以用Scala宏。使用Scala宏,可以根据API更改来管理外部数据库中的串行版本ids。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读