JVM,JRE,Java Compiler Interview Questions

August 5, 2010

Interview Questions, Java

«»

JVM,JRE,Java Compiler FAQs-2

1)What is the source code for the compiler?

A: The source code for a Java program is also known as a compilation unit, which contains the code for a top level Java class or
interface. A Java compilation unit is usually created in the form of a file with a .java extension and is passed to the compiler as a file path reference.

The Java source file contains a header that declares the type of class or interface, its “visibility” with respect to other classes, its name and any superclass it may extend, or interface it implements. The body of the class contains variable declarations and methods that define the behaviour of the class, and any constructors used to create an instance of the class. A compilation unit may also contain nested inner classes.

2)Why is the source file named after the class?

A: The Java source file naming convention is not a standard specified by the Java language but is a common feature of Java
compilers, such as javac, to help locate source code. The source content of a Java class is known as a compilation unit. By storing the compilation unit in a file that is named after the class, the compiler can locate any supporting classes by name and compile those too.

This convention also extends to package names. Most Java compilers expect source code to be stored in directories whose names match their package hierarchy. Thus the source code for a class named Example in the package com.domain.util
might be stored in a file with the path c:\src\com\domain\util\Example.java

3)Which class should be compiled first?

A: Sometimes you will find that trial and error will give you the answer you need. If you are using the Sun compiler, javac, the
compiler will compile any other classes that your target class depends on, provided the other source files are in the same directory hierarchy as the first and the sub-directory names reflect the package hierarchy of the classes.

4)What are the steps in compiling a class?

Once you have written the Java source code file, there is only one step required to compile it. To compile the class from the command line, you need to give the path to the compiler program, such as Sun javac, and the path of the source code file, like this:

5)Where is my compiled class file?

A: If you are sure your class is being compiled, then the class file should be output somewhere! Without any directory argument, your compiler should place the class file in the same directory as your source file. Use the output directory argument to specify
where the class files are generated.

6)How can I ensure my compiler will locate the SAX package?

A: One way to ensure your compiler can locate any package it may require is to pass its path to the compiler explicitly using the -classpath argument.

7)What does this deprecation message mean?

A: The deprecation message you have seen means that the methods you are calling have been marked with a JavaDoc deprecation comment. When a method or class is marked deprecated it is only advisory, not mandatory, but the advice is given for good reason and should be followed. So long as deprecated methods remain in the public API it is possible to use them, so this approach supports legacy code and gives developers time to amend their applications as necessary.

8)What are undefined and undeclared variables?

A: One gets warning messages about undefined and undeclared variables when compiling Java classes that have programming errors,
as in the example below.

9)Why doesn’t the compiler warn about stack overflow problems?

A: There are many cases of poor runtime programming that could potentially be identified at compile time, but the number and
subtlety of the cases gets increasingly difficult to address. The main purpose of a compiler is to produce executable byte code that is valid according to the rules of the programming language, not to guard against poor programming. Hence most compilers only validate the syntax of the language and the most obvious logical errors in the code at compile time.

10)How do I set environment variables on Windows XP?

A: For Windows 2000/XP systems, the environment settings are edited in a special Control Panel applet called System.

11)How do I set the compiler path?

A: The Java compiler is a program like any other and your operating system needs to know where to find the executable file. The
simplest way to do this is to give the full path to the Java compiler in the command, as below for Windows…

12)How do I configure EditPlus to compile Java and capture output?

A: These instructions on configuring the NSGMLS markup validator for EditPlus will help you get started. For Java, the Command field will be the path to your javac.exe program (or java.exe to run). The Argument should contain any parameters you
want to pass to the compiler and should end with the $(FilePath) variable that substitutes the current file name. Check the Capture output box to get feedback from the compiler.

email

«»

Comments

comments

, ,