title: Javassist Vs. Java Compiler API
body: <p>In a project I'm currently working on, I need to generate Java classes at runtime.
  I also need to avoid using reflection when using these classes later on.</p>
  
  <p>I've been search for current solutions to do this, and found Javassist and Java 6 Java Compiler API.</p>
  
  <p>I'm confused though:</p>
  
  <ol>
  <li><p>What does Javassist uses to generate
  classes? Does it uses reflection or
  something?</p></li>
  <li><p>I've coded some tests and found it
  pretty easy to generate bytecode
  from source code, and then load
  classes from the generated bytecode.
  What are the advantages of using
  Javassist over this solution?</p></li>
  </ol>