Core Java



1. What is difference between JDK,JRE and JVM ?  

Short Answer

JVM(Java Virtual Machineis an abstract machine. It is a specification that provides runtime environment in which java bytecode can be executed.

JVMs are available for many hardware and software platforms (so JVM is plateform dependent).

JRE It stands for Java Runtime Environment. It is the implementation of JVM and physically exists.

JDK is an acronym for Java Development Kit.It physically exists.It contains JRE + development tools.

Short Answer

Difference between JDK, JRE and JVM

Understanding the difference between JDK, JRE and JVM is important in Java. We are having brief overview of JVM here.

JVM (Java Virtual Machine) is an abstract machine. It is a specification that provides runtime environment in which java bytecode can be executed.

JVMs are available for many hardware and software platforms. JVM, JRE and JDK are platform dependent because configuration of each OS differs. But, Java is platform independent.

The JVM performs following main tasks:

  • Loads code
  • Verifies code
  • Executes code
  • Provides runtime environment

JRE

JRE is an acronym for Java Runtime Environment.It is used to provide runtime environment.It is the implementation of JVM.It physically exists.It contains set of libraries + other files that JVM uses at runtime.

Implementation of JVMs are also actively released by other companies besides Sun Micro Systems.

JDK

JDK is an acronym for Java Development Kit.It physically exists.It contains JRE + development tools.



2. What do you mean by platform independence?  

Platform independence means that we can write and compile the java code in one platform (eg Windows) and can execute the class in any other supported platform eg (Linux,Solaris,etc).


3. What is JIT compiler ?  

Just-In-Time(JIT) compiler: It is used to improve the performance. JIT compiles parts of the byte code that have similar functionality at the same time, and hence reduces the amount of time needed for compilation.Here the term “compiler” refers to a translator from the instruction set of a Java virtual machine (JVM) to the instruction set of a specific CPU.



4. What is platform ?  

A platform is basically the hardware or software environment in which a program runs. There are two types of platforms software-based and hardware-based. Java provides software-based platform.




5. What is the main difference between Java platform and other platforms ?  

The Java platform differs from most other platforms in the sense that it's a software-based platform that runs on top of other hardware-based platforms.It has two components:

  • Runtime Environment
  • API(Application Programming Interface)


6. What is a pointer and does Java support pointers?  

Pointer is a reference handle to a memory location. Improper handling of pointers leads to memory leaks and reliability issues hence Java doesn't support the usage of pointers.


7. What is the base class of all classes?  

java.lang.Object


8. Does Java support multiple inheritance?  

Java doesn't support multiple inheritance.


9. Is Java a pure object oriented language?  

Java uses primitive data types and hence is not a pure object oriented language.


10. Are arrays primitive data types?  

In Java, Arrays are objects.


11. What is difference between Path and Classpath?  

Path and Classpath are operating system level environment variales. Path is used define where the system can find the executables(.exe) files and classpath is used to specify the location .class files.


12. What are local variables?  

Local varaiables are those which are declared within a block of code like methods. Local variables should be initialised before accessing them.


13. What are instance variables?  

Instance variables are those which are defined at the class level. Instance variables need not be initialized before using them as they are automatically initialized to their default values.


14. How to define a constant variable in Java?  

The variable should be declared as static and final. So only one copy of the variable exists for all instances of the class and the value can't be changed also.
static final int PI = 3.14; is an example for constant.


15. Should a main() method be compulsorily declared in all java classes?  

No not required. main() method should be defined only if the source class is a java application.


16. What is the return type of the main() method?  

Main() method doesn't return anything hence declared void.


17. Why is the main() method declared static?  

main() method is called by the JVM even before the instantiation of the class hence it is declared as static.


18. What is the arguement of main() method?  

main() method accepts an array of String object as arguement.


19. Can a main() method be overloaded?  

Yes. You can have any number of main() methods with different method signature and implementation in the class.


20. Can a main() method be declared final?  

Yes. Any inheriting class will not be able to have it's own default main() method.


.Net Interview Question

PHP Interview Question

Java Interview Question

AngularJS Interview Questions