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

scala如何映射到jvm字节码的良好参考

发布时间:2020-12-16 09:57:31 所属栏目:安全 来源:网络整理
导读:有没有关于 Scala编译器如何将各种 Scala功能映射到字节码的好文章? 快速谷歌出现了David Pollak 2009年演讲的支持材料 https://github.com/dpp/jvm_summit_2009/blob/master/scala_fancy_pants.pdf 但我怀疑这可能是过时的和不完整的. 我可以尝试通过scala
有没有关于 Scala编译器如何将各种 Scala功能映射到字节码的好文章?

快速谷歌出现了David Pollak 2009年演讲的支持材料

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

}

(编辑:李大同)

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

    推荐文章
      热点阅读