Java Program Life Cycle
(Image by - Sharma Guides | Subham232330)
Java requires the source code of your program to be compiled first.
It gets converted to machine-specific code, a byte code that is understood by some run-time engine, or a java virtual machine.
Not only will the program be checked for syntax errors by a Java compiler, but some other libraries of Java code can be added (linked) to your program after completing the compilation (deployment stage).
* Step1: Create a source document using any editor and save the file as .java (e.g. abc.java)
* Step2: Compile the abc.java file using “javac” command or eclipse will compile it automatically.
* Step3: Byte Code (abc.class) will be generated on disk.
* Step4: This byte code can run on any platform or device having JVM (java.exe convert byte code in machine language)
Let’s get familiar with various terminologies used by java programmers.
* JDK (Java Development Kit): JDK contains JRE along with various development tools like Java libraries, Java source compilers, Java debuggers, bundling and deployment tools
* JRE (Java Runtime Environment): It is part of JDK but can be used independently to run any byte code (compiled java program). It can be called JVM implementation.
* JVM (Java Virtual Machine): ‘JVM’ is software that can be ported to various hardware platforms. JVM will become an instance of JRE at runtime of the java program. Byte codes are the machine language for the JVM. Like a real computing machine, JVM has an instruction set that manipulates various memory areas at run time. Thus for different hardware platforms, one has corresponding the implementation of JVM available as vendor-supplied JREs.
* Java API (Application Programming Interface): A set of classes’ written using Java programming language which runs on JVM. These classes will help programmers by providing standard methods like reading from the console, writing to the console, saving objects in the data structure, etc.
Advantages of Java programming language :
* Built-in support for multi-threading, socket communication, and memory management (automatic garbage collection).
* Object Oriented (OO).
* Better portability than other languages across operating systems.
* Supports Web-based applications (Applet, Servlet, and JSP), distributed applications (sockets, RMI, EJB, etc.), and network protocols (HTTP, JRMP, etc.) with the help of extensive standardized APIs (Application Programming Interfaces).
Comments
Post a Comment
Please do not enter any spam link in the comment box.