Reduce the number of thrown (and catched) Exceptions to improve performance
When launching the swingset2 application, 752 exceptions are thrown (and catched) during the startup phase. 526 of them are ClassNotFoundExceptions. In real world applications ten thousands of exceptions are thrown during the startup phase. Throwing exceptions are expensive operations but most of them can be easily avoided, with a small and compatible redesign of the runtime classes. Please add for example methods like loadClassNoExc or findClassNoExc to the class ClassLoader. They could return null instead of throwing an exception and use them in the phase of classloading. Same for method getObject in class ResourceBundle.