Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remove ArrayList Object from Memory

Tags:

java

I have a bunch of Objects in an ArrayList, if I call ArrayList.remove(object) Do I need to do anything else to remove the object from memory? I am adding and removing objects from this list at a fairly very quick pace, so if it doesn't get removed from memory I it will start taking up space and start to slow down the Game.

like image 548
Get Off My Lawn Avatar asked Mar 07 '26 07:03

Get Off My Lawn


2 Answers

- When you call ArrayList.remove(object), you just remove the objects from the List Not from the Memory.

- It will depend on the Garbage Collector to decide when its gonna remove the object from the heap, under normal circumstances its an object is ready for garbage collection as it has No reference to it anymore.

- There is a classic example of why String which is an object in Java should not be used for storing password instead char[] should be used.

See this link...

Why is char[] preferred over String for passwords?

like image 89
Kumar Vivek Mitra Avatar answered Mar 09 '26 21:03

Kumar Vivek Mitra


Java does automatic garbage collection. So once an object is no longer referred to, it can be deleted, that doesn't mean it will be deleted. Garbage collection is automatic, you can ask that it be done by calling System.gc() however this is just a sugestion to run it.

http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/System.html#gc%28%29

like image 41
Amir T Avatar answered Mar 09 '26 21:03

Amir T