1. A non-transitory computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to: store class usage data describing historical usage of one or more classes by one or more tenants of a software container executing on the computer, the class usage data including at least one of data identifying an order in which the one or more classes were requested or data identifying dependencies between the one or more classes; pre-load one or more of the classes into a cache in a memory of the computer based upon the class usage data; receive, at a classloader executing in the software container, a request from one of the one or more tenants for a requested class; and provide the requested class in response to the request from the cache if the requested class is stored in the cache.