Java Basics 1.01b

Garbage Collection

  • Objects referenced created in heap memory
  • As long as variable referenced, it’s retained
  • When referenced expire, they’re eligible to be garbage collected
  • Garbage Collector runs own thread
  • Can’t force garbage collection
  • OutOfMemoryError thrown if memory runs out

Expiration

  • Variable to local functions or blocks expire when function is complete
  • Set value to null

Tips for Managing Memory

  • Minimize number of object created
  • Runtime.*
    • Runtime.maxMemory()
    • Runtime.totalMemory()
    • Runtime.freeMemory()
  • java -Xms256s HelloWorld - Initial heap size
  • java -Xms256m HelloWorld - Max heap size
  • java -Xms256n HelloWorld - Heap size for young generation objects