Based on my findings from internet I understood that ClassLoader dynamically loads the .class files into JVM, and ClassLoader is part of the JRE. Then who creates the object(s) of ClassLoader and how many objects of ClassLoader are created, and where (e.g heap, stack) does it reside while loading the .class files into JVM ?