So, every Java text book talks about how flexible Java is since it can load classes at run time. Just cobble together a string and give it to Class.forName(), and
Any framework that is configuration based (struts, jsf, spring, hibernate, etc.) uses this mechanism. Any product that is based on the plugin architecture also uses this feature.