Jeder Classloader fragt zu erst seinen Parent Classloader. Wenn der Parent Classloader nichts findet, kommt der Kind Classloader dran. Wenn du nicht selbst etwas an der Classloader Hierarchie verändert hast und nicht in einem Framework operiert, werden deine Classloader die Standardklassen, die endorsed Libs /lib/ext und den Classpath durchsuchen.
Wenn dann noch nichts gefunden ist, geben sie sich geschlagen.