class forNameTest {
       public static void main(String argv[]) {
	      try {
		     Class.forName("loadThis");
		     Class c = Class.forName("loadThis", false, 
		        new ClassLoader() {
			  public Class loadClass(String n)
				throws ClassNotFoundException {
				return findSystemClass(n);
			  }
		        });
		     System.out.println("constructor not called");
		     c.newInstance();
	      }
	      catch( Exception e ) {
		      System.out.println(e.getMessage());
		      e.printStackTrace();
	      }
       }
}

class loadThis {
      static {
	      try {
		      new loadThis();
	      }
	      catch( Exception e ) {
		      System.out.println(e.getMessage());
		      e.printStackTrace();
	      }
      }

      public loadThis() {
	      System.out.println("constructor called");
      }
}

/* Expected Output:
constructor called
constructor not called
constructor called
*/

@@ -229,14 +229,37 @@
 ng n
-)%0A%09%09%09%09
+, boolean resolve)%0A%09%09%09%09      
 thro
@@ -294,14 +294,18 @@
 %09%09%09%09
-return
+Class cl =
  fin
@@ -321,16 +321,84 @@
 ass(n);%0A
+%09%09%09%09if (resolve) %7B%0A%09%09%09%09      resolveClass(cl);%0A%09%09%09%09%7D%0A%09%09%09%09return cl;%0A
 %09%09%09  %7D%0A%09

Update wrt. new JDK 1.2 ClassLoader scheme.