title: java command line execution
body: <pre><code>C:\Program Files\Java\jdk1.6.0_05\CoreJava\v1\v1ch2\Welcome&gt;javac Welcome.java
  
  C:\Program Files\Java\jdk1.6.0_05\CoreJava\v1\v1ch2\Welcome&gt;java Welcome.class
  Exception in thread "main" java.lang.NoClassDefFoundError: Welcome/class
  Caused by: java.lang.ClassNotFoundException: Welcome.class
          at java.net.URLClassLoader$1.run(Unknown Source)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(Unknown Source)
          at java.lang.ClassLoader.loadClass(Unknown Source)
          at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
          at java.lang.ClassLoader.loadClass(Unknown Source)
          at java.lang.ClassLoader.loadClassInternal(Unknown Source)
  
  C:\Program Files\Java\jdk1.6.0_05\CoreJava\v1\v1ch2\Welcome&gt;java Welcome
  Welcome to Core Java
  by Cay Horstmann
  and Gary Cornell
  </code></pre>
  
  <p>So my problem is,how does "java" find and executes a class?why can not directly specify the class file?</p>