在scala REPL启动时JVM是否启动

时间:2016-09-01 15:19:24

标签: scala

我是scala的新手。 我想知道在登录scala REPL时是否启动了JVM 当我们退出scala REPL时,JVM就会停止。

谢谢和问候,

2 个答案:

答案 0 :(得分:1)

Scala只是一个JVM / Java库。所以是的,无论何时scala运行,JVM都会被启动。

如果是REPL,它会启动和停止JVM。当您启动和停止REPL时,您可以通过在另一个终端中执行jps来确认。

答案 1 :(得分:1)

这取决于您使用的Scala的实现。目前在不同的平台上有两个生产就绪的Scala稳定实现,一个在开发中,两个被放弃:

  • Scala.NET(已废弃):根本没有涉及JVM
  • Scala-LLVM(已废弃):根本没有涉及JVM
  • Scala-native(开发中):根本没有涉及JVM
  • Scala.JS(生产就绪):根本没有涉及JVM(除非您在JVM顶部的Rhino,dyn.js或Nashorn中运行它)
  • Scala-JVM:涉及JVM,但在启动或停止REPL时不一定要启动或停止。这取决于JVM。有些JVM可以缓存和重用正在运行的JVM实例,而不是启动和停止它们。还有Java操作系统,其中JVM 始终正在运行且永不停止。