Basic Interview Questions - Part1

Java is a high-level programming language which was originally developed by Sun Microsystems and was released in 1995. Java runs on a variety of platforms, such as Windows, Mac OS and various versions of UNIX.
Java runs on a variety of platforms, such as Windows, Mac OS and various versions of UNIX/Linux like HP-Unix, Sun Solaris, Redhat Linux, Ubuntu, CentOS, etc.
The Java compiler generates an architecture-neutral object file format, which makes the compiled code to be executable on many processors, with the presence of Java runtime system.
Some features of Java include Object Oriented, Platform Independent, Robust, Interpreted and Multi-threaded programming language.
Java uses Just-In-Time(JIT) compiler to enable high performance. Just-In-Time(JIT) compiler is a program that turns Java bytecode, which is a program containing instructions that can be sent directly to the processor.
Java is designed to adapt to an evolving environment. Java programs can carry out extensive amount of run-time information that can be used to verify and resolve accesses to objects on run-time.
When Java is compiled, it is not compiled into platform specific machine, rather it is combined 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.
Netbeans and Eclipse are two Java IDEs.
Some Java keywords are import, super, finally, etc.
Object is a runtime entity whose 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.
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.
A class consists of a Local variables, instance variables and class variables.
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 gets completed.
Instance variables are variables within a class but outside a method. These variables are instantiated when the class is loaded.
Class variables are the variables that are declared within a class, outside any method and with the 'static' keyword.
An Object is first declared, instantiated and then it is initialized.
Default value of 'byte' datatype is 0.
Default value of 'float' and 'double' datatype is different as compared to that in C/C++. For float its 0.0f and for double it is 0.0d
This datatype is used to save space in large arrays, mainly in place of integers, since a 'byte' is four times smaller than an 'int'.
Postfix operators i.e ( ) [ ] is considered to be of the highest precedence value.
Variables used in a switch statement can only be a byte, short, int or char.
The parseInt() method is used to get the primitive datatype of a certain string.
The following shows the explanation of each word of the line individually:
  • public: it is an access specifier
  • static: it allows main() to be called without instantiating a particular instance of a class.
  • void: it affirms the compiler that no value is returned by main().
  • main(): this method is called at the beginning of a Java program.
  • String args[ ]: args parameter is an instance array of class 'string'.
Java Runtime Environment(JRE) is an implementation of the Java Virtual Machine(JVM) which executes Java programs. It provides the minimum requirements for executing a Java application.
A JAR file is Java Archive file and it aggregates many files into one. It holds Java classes in a library. JAR files are built on ZIP file format and have .jar file extension.
WAR is a Web Archive File and is used to store XML, Java classes and JavaServer pages which is used to distribute a collection of JavaServer Pages, Java Servlets, Java classes, XML files, static Web pages etc.
JIT compiler improves the runtime performance of computer programs based on bytecode.
Object based programming languages follow all the features of OOPs except 'Inheritance'. JavaScript is an example of object based programming languages.
Unicode requires 16 bits and ASCII requires 7 bits. Although the ASCII character set uses only 7 bits, it is usually represented as 8 bits. UTF-8 represents characters using 8, 16, and 18 bit patterns. UTF-16 uses 16-bit and larger bit patterns.