我有一个 bash 脚本,它顺序调用 java 程序。这有点棘手,但我主要做的是有一个循环并使用不同的参数执行大约 1500 次相同的 java 程序。
我的问题是,当使用java 1.5(sun VM)时,每次调用java程序时都会创建一个新的jvm实例? (我不确定这个词汇是否正确......)
我是否应该通过引入一定程度的间接来避免这种情况,即构建所有参数的列表,然后执行一个采用这些参数并执行之前我的入口点的java程序?
或者我可以通过将 JVM 配置为驻留或类似的方式来处理该问题并动态调用我的程序......
希望这是清楚的......
谢谢...
最佳答案
您可以将参数保存到文件中并使用Java程序来处理它,而无需不断重新启动。您还可以通过控制台将参数通过管道输入正在运行的 Java 应用程序,类似于 ls | grep java
编辑:第一个问题。我怀疑 java 运行时会故意保留在内存中。无论如何,大多数 JRE 文件可能仍保留在磁盘缓存中。在 Windows 上,有一个 Java 快速启动服务,它可以保留 JRE 文件以减少 java 程序的启动时间。不知道*nix是否有类似的东西。
关于java - java程序的顺序执行==jvm的顺序激活?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1038614/