Originally posted by Jennifer Wallace:
1.What does Java Virtual Machine constitute here? Please look towards the end of this webpage
The Java Virtual Machine (JVM) is the (program) layer between the Java bytecode and the operating system and actual computer. The JVM runs within the operating system (on the computer) and interprets the bytecode to be understood by a specific computer's hardware and operating system (as appropriate).
2. Is this JVM version dependent? If I create a ".class" file with jdk1.4, will that run in a machine with jdk 1.3 (if the features/classes invoked in this program are available in jdk1.3)
The JVM is version dependent. If your source code does include jdk 1.4 specific code and you didn't compile with the appropriate argument, then the code won't run on a previous JVM release. If you didn't include code that is not covered by the target JVM release, then no problems (to the best of my knowledge).
Take a look at
Sun's documentation on javac for information on compiling "new" code to run on an older JVM.
3.What is a Client compiler ?
The Client Compiler interprets/compiles the Java bytecode to native/machine code.
3. A Web browser runs an applet . How are the Java bytecodes "interpreted" here ?
Sure - another number 3. An instance of the JVM is created (by the browser) to interpret the bytecode.
4.what is a 'PLUGIN'? what is 'Microsoft VM' ?
IE and Netscape both stopped supporting Java at version 1.1.2 (I think) and M$ stopped packaging Java with IE6 and Windows XP altogether (though M$'s Java Virtual Machine can be downloaded - it only supports to 1.1.2 - I think). To run applets that are newer, the user needs to download a plug-in for the appropriate browser that integrates with the browser to handle Java.
5. Do the major web browsers(IE and netscape) run applets (compiled with jdk1.4) properly ?
Not all by themselves, the aforementioned plug-in is required.
[ May 17, 2002: Message edited by: Dirk Schreckmann ]