为什么要在JVM中执行脚本语言

Why would I like to execute scripting language in JVM

我无法理解为什么以及在何种情况下我想在服务器端的 JVM 中使用 运行 脚本语言。我的意思是我们已经在 JAVA 中提供了很棒的库...为什么我不使用它们来代替 JVM 中的 运行ning 脚本呢? 请帮助我理解这个概念,谁能告诉我一两个用例,其中 运行 在服务器端 JVM 中编写脚本比使用 JAVA 库更有优势。

我能想到的一个用途是:

  • Javascript引擎可用于计算算术表达式 它们是字符串格式。

example :: String expression = "2+4";

下面是 link 使用 java 脚本引擎执行此操作的示例。

这里更普遍的问题是 "Why would I want to execute code in <some scripting language> in Java?",其中 Javascript 只是这种语言的一个例子。

引用 this article:

Some Java applications' requirements make integration with a scripting language necessary. For example, your users may need to write scripts that drive the application, extend it, or contain loops and other flow-control constructs. In such cases, it's sensible to support a scripting language interpreter that can read user scripts, then run them against your Java application's classes.

基本上:如果您想让用户以需要丰富编程语言的方式自定义您的应用程序。

为什么 Javascript 特别是?这取决于您的应用程序。可能有理由选择它(例如,您的目标用户已经知道 Javascript),或者不选择(例如,Lua 在游戏行业中更适合编写脚本)。