title: What is an isolated classloader in Java?
body: <p>When trying to solve <a href="https://stackoverflow.com/q/9446489/120682">this problem</a>, I encountered some articles, etc. referring to "isolated" ClassLoaders.  I was unable to find a definition for <em>isolated classloader</em> via Google search, so maybe the term is not widely-known jargon, and perhaps has a different meaning in different contexts.</p>
  
  <p>Anyway, Maven's surefire plugin can use an isolated ClassLoader: <a href="http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html" rel="nofollow noreferrer">http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html</a></p>
  
  <p>Also one of the answers below references <a href="http://blog.markturansky.com/archives/21" rel="nofollow noreferrer">an article explaining how to create an "isolated" ClassLoader</a>.</p>
  
  <p>Neither reference above gives a definition for an isolated ClassLoader; they seem to assume the reader knows what that means or can look it up.  However, the second link does include a hint as to what it means by "isolated":</p>
  
  <blockquote>
    <p>Bootstrapping lets you run your container without polluting the system classpath. This allows you to run your deployed applications with the unpolluted system classpath as its parent. <strong>You’ve achieved classloader isolation.</strong></p>
  </blockquote>
  
  <p>But I'm not quite clear on what is isolated from what and how from this paragraph or the rest of the article.  I see that he's loading one version of a class w/o overriding / overwriting another version--maybe one classloader is isolated from another by being different instances w/o one being the parent of the other?  I'm not sure.  </p>
  
  <p>I especially covet a Google or SO search link that contains a link clearly holding the answer.  A direct link to an answer works too.  :)</p>