Nieco wcześniej, z ciekawości, napisałem program Java, który bardzo szybko zajmuje dużo pamięci. (Dodaje BufferedImages do tablicy zestawień w pętli.)
Trzymałem Monitor systemu Windows otwarty, aby obserwować zużycie pamięci RAM podczas pracy.
Kiedy uruchomiłem program, użycie pamięci RAM wzrosło bardzo szybko, a ponieważ osiągnęło około 100% moich 6 GB pamięci RAM, mój komputer stał się bardzo wolny. Po około minucie udało mi się zakończyć program i mój komputer powoli odzyskał prędkość. Zauważyłem, że zużycie pamięci najpierw spadało powoli, a potem nagle spadło do prawie 0 MB, a następnie powróciło do bezczynności na poziomie około 2-2,5 GB.
Zrobiłem zrzut ekranu użycia pamięci RAM w Monitorze systemu:
Zastanawiałem się, czy ktoś mógłby wyjaśnić, co się dzieje, gdy w komputerze zabraknie pamięci i dlaczego nie wraca do stanu bezczynności zaraz po zakończeniu programu, a raczej około 60 sekund później? Ponadto, dlaczego użycie spada do zera zamiast po prostu bezczynności?