gpt4 book ai didi

java - 为什么 Java 没有 Repl 模式

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:18 26 4
gpt4 key购买 nike

好吧,我知道这是一个愚蠢的问题,但让我们想一想。

为什么我们不能为 Java 提供 repl 模式或某种 shell。假设我只想执行 Math.max(2,3) 以获得输出 3。它可以类似于 Scala repl 模式,默认情况下处理类和主要声明(它扩展到 App) 并且只计算一个表达式。

技术上:

  1. 后面有一个解释器可以执行 - 如果 scala 和 groovy 可以,那么这意味着 JVM 不是主要问题
  2. 如果 javac 是原因,假设我们删除了所有优化,它直接逐行严格转换为 java 字节码,那么应该有出路。类型推断可能无法显示大量信息,但至少可以显示方法的输出。可能 javac 可以针对这种情况进行一些修改
  3. Ex:在调试器中,我们将断点附加到该行,然后向前执行。可以应用类似的策略

为每个 JVM 进程提供一个默认 shell 会很酷,在其中运行时,可以访问或设置一些静态变量并获得实时信息。

所有这些都被认为是不可能的,但为什么它没有被大多数人接受(尽管有一些开源实现)

最佳答案

这或多或少正是BeanShell

关于java - 为什么 Java 没有 Repl 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16016576/

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