optimization - 具有快速初始化功能的 JVM 脚本语言

标签 optimization scripting jvm-languages

我有一个简单的java应用程序,它获取jmx连接url、对象名称和属性名称作为输入和输出属性值。该应用程序每分钟运行数百次,并且有严格的运行时间限制。最近出现了许多极端情况(将毫秒转换为秒、折叠列表等),重新编译和重新分发该应用程序变得乏味。 因此,我决定改用某种支持 JMX 的脚本语言。

我尝试过 groovy、jython 和 clojure,发现它们的初始化时间很长(groovy/clojure/jython 约为 0.9/1.2/3.5)。

有没有更快的初始化速度,或者有没有办法减少这些语言的初始化时间而不从java加载它们?

最佳答案

现在,jark似乎是一个不错的解决方案。

编写一个 Clojure 脚本,例如

(ns jarkserver)

(require '[clojure.tools.nrepl :as nrepl])

(defn -main
[& args]
(nrepl/start-server 9000)
(.join (Thread/currentThread)))

开始于:

 lein run -m jarkserver

然后启动 REPL:

 jark repl

或者运行你的 clojure 脚本:

 jark <path_to_clojure_script>

或者只是内联执行一些 clojure 代码:

 jark -e "(+ 1 1)"

编辑: 启动 Jark 服务器的更简单方法是:

jark -cp lib/*:lib/dev/*:* -p 9000 server start  

关于optimization - 具有快速初始化功能的 JVM 脚本语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12483578/

相关文章:

c# - .NET反射的 "cost"是什么?

mysql - 自上次购买以来的时间

mysql - 通过脚本为 Drupal 6 安装创建 MySQL 数据库

xcode - Xcode 构建阶段运行脚本支持哪些类型的语言?

jvm-languages - 是否有静态类型语言对 JVM 有很好的 lambda 支持?

c++ - std::vector<bool> 优化实现

sql - MySQL查询优化

linux - 通过 perl 脚本搜索文件系统,同时忽略远程挂载

java - 在没有 JVM 支持的情况下,如何在 JVM 语言中实现协程?