title: Is a large class path of multiple (perhaps even unused) jar files inefficient
body: <p>The way I see it, (correct me if I'm wrong) a class is cached, so that the need to search the class path is only necessary the first time the class is referenced. It will only happen as often as the static initializer is called, which is only one time during the life cycle of the program. (or more specifically, the Class Loader)</p>
  
  <p>But in the case of a large, long-life program that includes many many libraries that may or may not be used.</p>
  
  <p>Do the Jar files get loaded into memory, causing unnecessary usage due to the fact that most of the classes are never used? Will it stay in Memory?</p>
  
  <p>Is referencing a directory a better option? Or is the Jar file already unzipped into a temporary location to begin with?</p>
  
  <p>Is it faster to use the directory method than the Jar file method?</p>
  
  <p>Is it reasonable to extract all Jar files into a single directory, to reduce the number of locations in the class path? When is this a good idea?</p>