gpt4 book ai didi

java - 无限循环 : Java or Shell script

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

我想通过 shell 脚本无限次执行 Java 代码。为此,我有两个选项。

  1. 使用 while 循环在 Shell 脚本中无限调用 Java 类
  2. 在Java类代码中无限while循环并在Shell脚本中调用一次Java类

哪种方法更好?

最佳答案

基于技术事实的答案:

在你的 shell 脚本中有循环意味着你不断地启动新的 JVM 进程。与在您正在执行的 Java 程序中使用循环相比,这会给您的系统带来更高的负载。

换句话说:您启动一个 JVM session ,它会做一些事情;它下降了;下一个开始……永远。

可能 Linux 在幕后做了很多事情来降低这样做的成本(例如通过实际将事情保存在内存中);但仍然:您不断地开始流程,以在不久之后结束它们。

如果您真的打算“无限”地运行您的代码;比你绝对想避免以任何形式浪费资源。

另一方面,可以为将循环保留在脚本端提供一个(弱的)论据:当您将循环放入 java 代码中,而您的 java 代码实际上是错误的(例如内存泄漏);那么那个 JVM 的内存消耗可能会一直增长(直到达到它的极限;然后你可能会看到大量的垃圾收集)。

意思是:当你知道你的 Java 代码状态不佳时;并且长时间在相同 JVM 中运行它会导致问题;那么当然:启动和停止 JVM 有一些好处。但是当然 - 在那种情况下,你有一些更大的问题。如果你的 java 应用程序有这样的问题,那么你最好找出它们的根本原因并修复它们;而不是不断启动/停止 JVM 来规避这些问题。

关于java - 无限循环 : Java or Shell script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41479462/

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