我在java中编写了一个应用程序,我想添加一个功能来报告应用程序的正常运行时间。 JVM中是否有可以执行此操作的类/方法?
我应该在应用程序启动时保存时间戳,然后计算请求时当前正常运行时间的差异吗?
在Java中检索应用程序正常运行时间的更好方法是什么?
答案 0 :(得分:32)
您可以使用RuntimeMXBean.getUptime()
RuntimeMXBean rb = ManagementFactory.getRuntimeMXBean();
long uptime = rb.getUptime();
答案 1 :(得分:0)
就像Heartbeat应用程序一样。在其中您编写了与您的Java应用程序进行通信的小应用程序。每当您启动应用程序时,您必须将日期时间存储在文件/数据库中。 Monitor应用程序将检查应用程序是否运行。监视器应用程序还会将结束时间和开始时间的差异显示为应用程序时间。
答案 2 :(得分:0)
结果以毫秒为单位:
RuntimeMXBean mxBean = ManagementFactory.getRuntimeMXBean();
System.out.println(mxBean.getUptime());
请参阅:ManagementFactory.getRuntimeMXBean() javadoc。
答案 3 :(得分:-3)
我知道的解决方案是使用System.currentTimeMillis()
,如here和here所述。还有similar question