Недавно натолкнулся на какой-то код, который заставил меня задуматься. Какая разница между:
Class theClass = Class.forName("SomeImpl");
SomeImpl impl = (SomeImpl)theClass.newInstance();
и
Class theClass = ClassLoader.loadClass("SomeImpl");
SomeImpl impl = (SomeImpl)theClass.newInstance();
Являются ли они синонимами? В некоторых случаях предпочтительнее другого? Что делать и не использовать эти два метода?
Спасибо заранее.