 Some platforms offer direct hardware support for Java; there are micro controllers that can run Java bytecode in hardware instead of a software Java virtual machine, and some ARM-based processors could have hardware support for executing Java bytecode through their Jazelle option, though support has mostly been dropped in current implementations of ARM.Java uses an automatic garbage collector to manage memory in the object lifecycle.The programmer determines when objects are created, and the Java runtime is responsible for recovering the memory once objects are no longer in use.