http://fullstackprep.dev/Articles/webd/java/how-does-jvm-manage-memory