1. A system for providing a filtering classloader within a Java-based or other application environment, comprising: a processor; a classloader hierarchy for use by applications, including one or more child classloaders, which are configured to receive requests from the applications to access classes and packages, a parent classloader, and a filtering classloader that is located within the classloader hierarchy between the one or more child classloaders and the parent classloader, and acts as a parent to the one or more child classloaders; wherein the filtering classloader includes a class pattern matching information which defines those classes and packages for which it is preferred to use a child level class or package rather than a class or package specified by a parent classloader; and wherein upon receiving a request from a child classloader to access a particular class or package, the filtering classloader matches the request against the class pattern matching information, and if it is determined there is a match to one of those classes and packages defined therein, overrides a class loading operation to cause the requested class or package to be retrieved locally at the child classloader rather than from the parent classloader.