【发布时间】:2019-09-11 13:47:36
【问题描述】:
当使用 Java Flight Recorder/Mission Control 对一些 scala 代码进行基准测试时,我可以看到一堆名称中包含 $adapted$ 的方法。看着签名,我可以想到一些可能性。
- 这些是否与 java-8 函数 lambda 相同?即不会产生堆分配?
- 它们是泛型的特化(在 scala 中,还是在 java 中的模板)?
- 或者它们是某种其他类型的优化?
我在哪里可以阅读更多关于这方面的信息?
【问题讨论】:
-
我认为这是某种固定装置。 Scala编译器通常滥用$,并且在创建say static object object Foo时可能会生成一些额外的方法、包等