getSystemResource() will only consult the "system ClassLoader", while getResource() will consult the ClassLoader the method is called on. The system ClassLoader is the "built-in" one, the one that loads classes from the CLASSPATH when an application starts up.
No
Java programmer should miss reading Ted Neward's two excellent articles on ClassLoaders
here and
here.