获得应用程序正常运行

我在java中编写了一个应用程序,我想添加一个function来报告应用程序的正常运行时间。 JVM中是否有可以执行此操作的类/方法?

我应该在应用程序启动时保存时间戳,然后在请求时刻计算当前正常运行时间的差异吗?

在Java中检索应用程序正常运行时间的更好方法是什么?

您可以使用RuntimeMXBean.getUptime()

RuntimeMXBean rb = ManagementFactory.getRuntimeMXBean(); long uptime = rb.getUptime(); 

它就像Heartbeat应用程序一样。 在其中您编写了与您的Java应用程序进行通信的小应用程序。 每当您启动应用程序时,您必须将日期时间存储在文件/数据库中。 Monitor应用程序将检查应用程序是否运行。 监视器应用程序还会根据结束时间和开始时间来显示应用程序时间。

结果是以毫秒为单位:

 RuntimeMXBean mxBean = ManagementFactory.getRuntimeMXBean(); System.out.println(mxBean.getUptime()); 

请参阅: ManagementFactory.getRuntimeMXBean() javadoc。

我知道的解决方案是使用System.currentTimeMillis() ,如此处和此处所述 。 还有类似的问题