Multiple Choice Questions
Question 1
Which language does the CPU understand?
- Machine language ✓
- Assembly language
- High-level language
- English language
Question 2
Stand-alone Java applications ........... for execution.
- need Java-compatible web browser
- need an assembler
- do not need Java-compatible web browser ✓
- need a linker
Question 3
What is the full form of JVM?
- Java Visual Monitor
- Java Video Monitor
- Java Virtual Monitor
- Java Virtual Machine ✓
Question 4
The full form of JRE is ...........
- Java Runtime Editor
- Java Runtime Environment ✓
- Java Runtime Expression
- Java Runtime Enabler
Question 5
Java uses ........... for execution.
- compilation and interpretation ✓
- interpretation only
- compilation only
- None of these
Question 6
A program that translates code written in a high-level language into machine code is called ...........
- Assembler
- Linker
- Compiler ✓
- None of these
Question 7
A program that translates an assembly language program into machine code is called ...........
- Assembler ✓
- Linker
- Compiler
- None of these
Question 8
Feature(s) of Java include ...........
- robust
- object oriented
- secure
- All of these ✓
Question 9
Java can be used to write ...........
- stand-alone applications only
- both stand-alone and internet applications ✓
- internet applications only
- None of these
Question 10
Java applications can run on ...........
- Windows platform
- Macintosh platform
- UNIX platform
- All of these ✓
Question 11
Java applications ...........
- are platform dependent
- do not need a platform to run
- are platform independent ✓
- cannot run on Windows
Question 12
A Java program can run as a stand-alone application only if it has ...........
- a void method
- an overloaded method
- a main method ✓
- no methods
Question 13
What is the extension of a Java source code file?
- .java ✓
- .txt
- .class
- .BlueJ
Question 14
What is the extension of a Java class file?
- .obj
- .java
- .class ✓
- .BlueJ
Question 15
Choose the correct statement.
- Applets can be executed in a web browser only.
- Applets can be executed in an applet viewer only.
- Applets can be executed in both web browser and applet viewer. ✓
- Applet cannot be executed.
Assignment Questions
Question 1
Write a short note on types of Java programs.
Answer
There are two types of Java programs — Java Stand-Alone Applications and Java Applets.
Java Stand-Alone Applications
A stand-alone Java application refers to a Java program that can run independently on a computer. Acrobat Reader is an excellent example of this type of application. In Java, every stand-alone application begins its execution with the main() method. Java stand-alone applications can be classified into two types:
a. Console based applications
b. Graphical User Interface based applications
Java Applets
Java applets are Java applications that run within a web browser. They are mainly used for internet programming. The applet is capable of performing many tasks on a web page, such as displaying graphics, playing sounds, and accepting user input.
Question 2
Which language does the CPU understand?
Answer
CPU understands Machine Language.
Question 3
Describe the traditional compilation process with a suitable diagram.
Answer
In traditional compilation process, the machine language code generated by the compiler is specific to the platform for which the source code is compiled. Every high-level language has a separate platform specific compiler to generate the machine code that can run on the specific platform. For example, the executable file generated by compiling a C++ program on Windows platform will not run on Macintosh. It needs to be compiled with C++ Macintosh compiler. The below diagram illustrates this:
Question 4
Describe the Java compilation process with a suitable diagram.
Answer
In Java compilation process, the source code of a Java program is compiled to an intermediate binary code called the Bytecode. This Bytecode cannot be directly executed by the machine. It is understood by a virtual machine known as Java Virtual Machine or JVM. JVM contains a Java interpreter which converts the Bytecode into machine code of the target computer. JVM is platform specific i.e. each platform has its own JVM. But once the proper JVM is installed on the machine, it can run any Java Bytecode program. The below diagram illustrates this:
Question 5
What is the difference between an interpreted language and a compiled language?
Answer
Program written in an interpreted language is converted into machine code line by line and executed one line at a time whereas program written in a compiled language is converted into machine code all at once and executed.
Question 6
How is traditional compilation process different from Java compilation process?
Answer
In traditional compilation process, the machine language code generated by the compiler is specific to the platform for which the source code is compiled. The executable file generated for one platform like Windows will not work on other platforms like Macintosh. In Java compilation process, the source code of a Java program is compiled to an intermediate binary code called the Bytecode. This Bytecode is interpreted and executed by JVM on the target platform. Bytecode is platform independent so the same Bytecode which is generated for one platform like Windows will work on other platforms like Macintosh without any modifications.
Question 7
What are JVM and JIT?
Answer
JVM
JVM stands for the Java Virtual Machine. It is a virtual machine that runs Java programs and can be installed on several different operating systems such as Windows, UNIX, Macintosh etc. JVMs allow Java programs to run on almost any computer. A JVM processes instructions similar to a physical processor. However, the Java code (with "java" extension) must first be converted into Bytecode that the JVM understands.
JIT
JIT is the Just-In-Time compiler included in the JVM that compiles selected portions of the Bytecode into executable codes to improve the execution performance.
Question 8
Distinguish between the following:
a. Source code and Object code
Answer
Source Code | Object Code |
---|---|
It is a set of instructions written in a high-level programming language. | It is the compiler generated machine language version of the source code. |
It can be read and understood by humans. | It is not human readable but is understood by machines. |
b. Compiler and Interpreter
Answer
Compiler | Interpreter |
---|---|
It converts the whole source program into the object program at once. | It converts the source program into the object program, one line at a time. |
It displays the errors for the whole program together, after the compilation. | It displays the error one line at a time and only after fixing that error the control goes to the next line. |
c. ".java" file and ".class" file
Answer
".java" file | ".class" file |
---|---|
It contains the Java source code of the program. | It contains the Bytecode of the program. |
It is written by human (programmer) | It is generated by Java compiler. |
Question 9
Describe the slogan, "Write once, run anywhere" in relation to Java.
Answer
Bytecode and JVM makes Java programs platform independent. This is one of the most important and powerful features of Java. The Bytecode of a Java program can be run on any platform that has a corresponding JVM installed on it. No modifications to this Bytecode are required. Hence, it is said that Java provides "Write once, run anywhere" capabilities.
Question 10.
Describe four features of Java.
Answer
Four features of Java are:
- Object Oriented — Java is an object-oriented programming language because it treats everything as an object. The entire program code and data resides within objects and classes. This enables us to easily use and extend the object model.
- Robust — Java is a robust and reliable programming language. It has strict compile time and runtime checking of data types. Memory allocation and de-allocation is automatic in Java, so there is less for the programmer to worry about.
- Platform Independent — The concept of "Write once, run anywhere", is one of the most important and powerful features of Java. Java applications can run on any platform that has a corresponding JVM installed on it.
- Simple — Java is simple and easy to learn programming language. The removal of many unreliable features of C and C++ (its predecessors) has simplified its understanding and implementation.
Question 11
What is the difference between machine code and Bytecode?
Answer
Machine Code | Bytecode |
---|---|
It is executed directly by the processor. | It is executed by the JVM. |
It is platform specific. | It is platform independent. |
Question 12
What role does the Java Virtual Machine play in the compilation and interpretation process?
Answer
Java Virtual Machine or JVM is a virtual machine that runs Java programs. It takes the compiled Bytecode as input, converts it into machine code with the help of the Java interpreter. Selected portions of the Bytecode are also compiled by JVM using the Just-In-Time (JIT) compiler for performance. This machine code generated by JVM is then executed by the processor. So JVM along with Bytecode gives Java its "Write once, run anywhere" capabilities.
Question 13
Can Java run on any machine? What is required to run Java on a computer?
Answer
A platform specific JVM is required to run Java programs on a computer. If a corresponding JVM is installed on the machine then Java can run on that machine.