Not that compilation takes terribly long anyway on fast systems. The java program implements the Java Virtual Machine. The Java Virtual Machine turns Java bytecodes into native machine code and interfaces with the native operating system. Remember that this compiler is part of the runtime environment, not the compiler which produces the classes. The end product of compiling Java source code is always one or more class files.
Applets work a little differently.
After loading the class file, browsers go through another step, byte code verification, under the assumption that remotely created code may be malicious or not compiled with standard tools, leading to overwriting the stack, crashing the browser, and other mischief. If the class passes, an instance of the class is created, and a thread started for this class. Going Both Ways Examples often make things clearer, but I take a risky approach in the following example. Clock.java contains a class which can be used as a standalone application or as an applet, and works similarly either way. Through using this example I plan to compare and contrast the way applications and applets work, and how they are written.