Q: Explain about Java?
A: Java is a high-level programming language originally developed by Sun Micro systems and released in 1995. Java runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX.
Q: List any five features of Java?
A: Some features include Object Oriented, Platform Independent, Robust, Interpreted, multithreaded
Q: Why is Java Architectural Neutral?
A: It’s compiler generates an architecture-neutral object file format, which makes the compiled code to be executable on many processors, with the presence of Java run time system.
Q: How Java enabled High Performance?
A: Java uses Just-In-Time compiler to enable high performance. Just-In-Time compiler is a program that turns Java byte code, which is a program that contains instructions that must be interpreted into instructions that can be sent directly to the processor.
Q: Why Java is considered dynamic?
A: It is designed to adapt to an evolving environment. Java programs can carry extensive amount of run-time information that can be used to verify and resolve accesses to objects on run-time.
Q: What is Java Virtual Machine and how it is considered in context of Java’s platform independent feature?
A: When Java is compiled, it is not compiled into platform specific machine, rather into platform independent byte code. This byte code is distributed over the web and interpreted by virtual Machine (JVM) on whichever platform it is being run.
Q: What do you mean by Object?
A: Object is a run time entity and it’s state is stored in fields and behavior is shown via methods. Methods operate on an object’s internal state and serve as the primary mechanism for object-to-object communication.
Q: Define class?
A: A class is a blue print from which individual objects are created. A class can contain fields and methods to describe the behavior of an object.
Q: What kind of variables a class can consist of?
A: A class consist of Local variable, instance variables and class variables.
Q: What is a Local Variable
A: Variables defined inside methods, constructors or blocks are called local variables. The variable will be declared and initialized within the method and it will be destroyed when the method has completed.
Q: What is a Instance Variable
A: Instance variables are variables within a class but outside any method. These variables are instantiated when the class is loaded.
Q: What is a Class Variable
A: These are variables declared with in a class, outside any method, with the static keyword.
Q: What is Singleton class?
A: Singleton class control object creation, limiting the number to one but allowing the flexibility to create more objects if the situation changes.
Q: What do you mean by Constructor?
A: Constructor gets invoked when a new object is created. Every class has a constructor. If we do not explicitly write a constructor for a class the java compiler builds a default constructor for that class.
Q: What is the default value of byte data type in Java?
A: Default value of byte data type is 0.
Q: What is the default value of float and double data type in Java?
A: Default value of float and double data type in different as compared to C/C++. For float its 0.0f and for double it’s 0.0d
Q: When a byte data type is used?
A: This data type is used to save space in large arrays, mainly in place of integers, since a byte is four times smaller than an int.
Q: What is a static variable?
A: Class variables also known as static variables are declared with the static keyword in a class, but outside a method, constructor or a block.
Q: What do you mean by Access Modifier?
A: Java provides access modifiers to set access levels for classes, variables, methods and constructors. A member has package or default accessibility when no accessibility modifier is specified.
Q: What is protected access modifier?
A: Variables, methods and constructors which are declared protected in a super class can be accessed only by the sub classes in other package or any class within the package of the protected members’ class.
Q: What do you mean by synchronized Non Access Modifier?
A: Java provides these modifiers for providing functionality other than Access Modifiers, synchronized used to indicate that a method can be accessed by only one thread at a time.
Q: According to Java Operator precedence, which operator is considered to be with highest precedence?
A: Post fix operators i.e ()  . is at the highest precedence.
Q: Variables used in a switch statement can be used with which data types?
A: Variables used in a switch statement can only be a byte, short, int, or char.
Q: When parseInt() method can be used?
A: This method is used to get the primitive data type of a certain String.
Q: Why is String class considered immutable?
A: The String class is immutable, so that once it is created a String object cannot be changed. Since String is immutable it can safely be shared between many threads ,which is considered very important for multi-threaded programming.
Q: Why is StringBuffer called mutable?
A: The String class is considered as immutable, so that once it is created a String object cannot be changed. If there is a necessity to make a lot of modifications to Strings of characters then StringBuffer should be used.
Q: What is the difference between StringBuffer and StringBuilder class?
A: Use StringBuilder whenever possible because it is faster than StringBuffer. But, if thread safety is necessary then use StringBuffer objects.
Q: What is finalize() method?
A: It is possible to define a method that will be called just before an object’s final destruction by the garbage collector. This method is called finalize( ), and it can be used to ensure that an object terminates cleanly.
Q: What is an Exception?
A: An exception is a problem that arises during the execution of a program. Exceptions are caught by handlers positioned along the thread’s method invocation stack.
Q: What do you mean by Checked Exceptions?
A: It is an exception that is typically a user error or a problem that cannot be foreseen by the programmer. For example, if a file is to be opened, but the file cannot be found, an exception occurs. These exceptions cannot simply be ignored at the time of compilation.
Q: Explain Runtime Exceptions?
A: It is an exception that occurs that probably could have been avoided by the programmer. As opposed to checked exceptions, Runtime exceptions are ignored at the time of compilation.
Q: Which are the two sub classes under Exception class?
A: The Exception class has two main sub classes : IOException class and RuntimeException Class.
Q: When throws keyword is used?
A: If a method does not handle a checked exception, the method must declare it using the throws keyword. The throws keyword appears at the end of a method’s signature.
Q: When throw keyword is used?
A: An exception can be thrown, either a newly instantiated one or an exception that you just caught, by using throw keyword.
Q: How finally used under Exception Handling?
A: The finally keyword is used to create a block of code that follows a try block. A finally block of code always executes, whether or not an exception has occurred.