Tworzę zaplanowany executor, aby odczytać użycie pamięci JVM. Mam natknąć się na dwa sposoby, aby uzyskać statystyki pamięci w uruchomionego JVM - Runtime & MemoryMXBean, z następującym korespondencji między ich metod:Pobieranie statystyk pamięci w Javie: Runtime vs. MemoryMXBean
memoryMxBean.getHeapMemoryUsage().getUsed() <=> runtime.totalMemory() - runtime.freeMemory()
memoryMxBean.getHeapMemoryUsage().getCommitted() <=> runtime.totalMemory()
memoryMxBean.getHeapMemoryUsage().getMax() <=> runtime.maxMemory()
Z wyjątkiem dodatkowej spoza sterty informacji zużycie pamięci dostarczonych przez MemoryMXBean, czy są jakieś powody, dla których powinienem preferować go w Runtime lub na odwrót?
Tak. Obie drogi zwracają dokładnie taką samą wartość dla używanej pamięci. – huljas