gpt4 book ai didi

scala - 关于如何将 Scala 映射到 jvm 字节码的良好引用

转载 作者:行者123 更新时间:2023-12-04 18:10:13 25 4
gpt4 key购买 nike

是否有关于 Scala 编译器如何将各种 Scala 功能映射到字节码的好文章?

一个快速的谷歌搜索到了 David Pollak 2009 年演讲中的支持 Material

https://github.com/dpp/jvm_summit_2009/blob/master/scala_fancy_pants.pdf

但我怀疑这可能既过时又不完整。

我可以尝试通过 scalap javap 自己收集这些数据,但是从其他人的努力和洞察力中受益会很好。

最佳答案

在 Scala REPL 上,使用 :javap -c查看生成的字节码。

例如:

scala> class Bytes { def a = println("hello") }
defined class Bytes

scala> :javap -c Bytes
Compiled from "<console>"
public class Bytes extends java.lang.Object{
public void a();
Code:
0: getstatic #13; //Field scala/Predef$.MODULE$:Lscala/Predef$;
3: ldc #15; //String hello
5: invokevirtual #19; //Method scala/Predef$.println:(Ljava/lang/Object;)V
8: return

public Bytes();
Code:
0: aload_0
1: invokespecial #24; //Method java/lang/Object."<init>":()V
4: return

}

关于scala - 关于如何将 Scala 映射到 jvm 字节码的良好引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15887564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com