Код, через который можно узнать время прошедшее со старта JVM таков:
long jvmUpTime = ManagementFactory.getRuntimeMXBean().getUptime();
Но в бекграунде он не обновляется, что и является вопросом. Просто заносится переменная и висит так до конца действия программы. Можно как-то сохранять значения по вызову?
Как его обновлять в приложении своём?
UPD: Нашел решение
long jvmUpTime() { return ManagementFactory.getRuntimeMXBean().getUptime(); }
Вы получили значение в переменную и записали в адресное пространство текущий uptime, оно не должно обновляться.
Для того, чтобы получать uptime на текущий момент, необходимо сохранить RuntimeMXBean в отдельную переменную и каждый раз, когда необходимо, вызывать метод getUptime, тогда время будет соответствовать времени вызова.
Привожу пример подобной реализации:
RuntimeMXBean rb = ManagementFactory.getRuntimeMXBean();
System.out.println("Up time: " + rb.getUptime() + " ms"); //Up time: 59 ms
Thread.sleep(1000 * 10);
System.out.println("Up time: " + rb.getUptime() + " ms"); //Up time: 10063 ms
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости