Myślałem o automatycznym wykrywaniu wycieków pamięci dla programu Java. Podstawowy algorytm jest stworzenie JUnits które zawierały następującą logiką:Automatyczne wykrywanie wycieków pamięci w Javie
Call System.gc() several times
Determine initial heap memory consumption using either Runtime class or JMX
Loop
Do something that exercises program under test
End loop
Call System.gc() several times
Determine final heap memory consumption
Compare initial and final memory numbers
Pętla jest stosowany do sprawdzenia, czy pamięć pełzanie w małych odstępach.
Konieczne jest rozróżnienie między oczekiwanym i nieoczekiwanym wzrostem zużycia pamięci.
To naprawdę nie jest test jednostkowy. Ale framework JUnit jest wygodny w użyciu.
Czy uważasz, że to podejście jest ważne? Czy myślisz, że to podejście będzie skuteczne w identyfikacji wycieków pamięci? Czy kiedykolwiek zrobiłeś coś takiego?
kiedyś myślał o takim teście też, ale nie mógł znaleźć dobry solution..hopefully jeden pojawi się tutaj. – mort