Chapter 1: Introduction To Java Programming Language for Beginners
History Of Java:
JAVA is a circulated technology developed by James Gosling, Patric Naughton, etc., at Sun Micro System has released a lot of rules for JAVA and those rules are implemented by JavaSoft Inc, United States of America ( software division of Sun Micro System) in the year 1990.
The original name of JAVA is OAK (a tree name). In the year 1995, OAK was revised and developed software called as JAVA (which is a coffee seed name).There is no abbreviation for JAVA.
A common language needed to enable computers. To run programs that run on multiple platforms. This need was fulfilled by Java, and it so on. Because of the language of choice for the Internet. Java is Object-Oriented language, built on C & C++. It derives its syntax from ‘C’ and its Object-Oriented features are influenced by C++ language.
Java can be used to create two types of programs. Those are Applications & Applets.
- An application is a program that runs on the user’s computers under the operating system.
- An Applet is a small window based program(runs on HTML page using java-enabled web browsers like internet Explorer, Netscape Navigator or an Applet Viewer).
According to Industry standards, there are 2 types of Applications:
- Standalone Applications
- Distributed Applications
Java is a set of many computer software outcomes and specifications from Sun Microsystems (which has since merged with Oracle Corporation), that mutually provide a system for developing application software and extending it in a cross-platform computing environment.
Java is used in an extensive variety of computing platforms from embedded devices and mobile phones on the low end, to enterprise servers and supercomputers on the high end. While less familiar, Java applets are sometimes used to provide enhanced and secure functions while browsing the World Wide Web on desktop computers.
JAVA published to the market in three sections J2SE (JAVA 2 Standard Edition), J2EE (JAVA 2 Enterprise Edition) and J2ME (JAVA 2 Micro/Mobile Edition).
- J2SE is essentially used for developing client side programs/applications.
- J2EE is mainly used for developing server-side applications/programs.
- J2ME is mainly used for developing server-side applications/programs.
The Below Information will provide you the history with the version name, the code name.
Each version have its own subversion if any modifications are done on the main version at the time all the new features are collected and added to the main version as subversions
Java programming is platform independent means it has to run on every operating system which has supporting machine architecture. This is due to the java bytecode. Java compiles the code into byte code which is a mediator representation. The Java Virtual machine is capable of running this intermediate code without any hurdle. The JRE is specifically designed to support runtime through JVM.
The two principal products in the Java platform are Java Development Kit (JDK) and Java Runtime Environment (JRE). Sun introduces JRE (Java Runtime Environment) which is the part of the JDK but don’t have compiler or header files etc. This is also the difference between JDK & JRE.
The main difference between JRE and JDK is the absence of tools and API such as basic tools like javac etc, security tool, RMI tool, Plug-in tool, the deployment tool, web start tool etc. Except for these tools, JRE has all the feature and components of JDK. To support Runtime java environment and provide runtime configuration, JRE is introduced by the Sun.
The difference between JRE, JDK, and JVM, below are few differences between JDK, JRE, and JVM:
- JRE & JDK come as installer while JVM is bunched with them.
- JRE only contain environment to execute java program but doesn’t contain another tool for compiling a java program.
- JVM comes along with both JDK and JRE and created when you execute Java program by giving “java” command.
JVM can be shortened as JAVA VIRTUAL MACHINE, and it is not a hard machine in our computer
Once we can install the JDK software in our computer automatically JRE is available.
Class loader subsystem:
It is a part of JVM which loads the class files into the main memory of the computer. While generating class files by the JVM it checks for the existence of java API which we are using as a frame of java program. It the java API is not found it generates a compilation error.
Runtime data area:
When the class files are loaded into main memory JVM needs the following runtime data area, they are
Heap memory: It is used for allocating the memory space for data members of the class at runtime
Java stacks/method area: In order to execute any method in java, JVM allotted some amount of memory space in the main memory on stack memory known as method area.
PC register: PC stands for Program Counter which is known as General purpose register.PC register always gives the address of next instruction of java program to the JVM.
When a JVM is compiling a java program in that context JVM is known as a compiler. When a JVM is running a java program in that context JVM is known as an interpreter.
JVM reads the byte code of .class file line by line. Bytecodes are set of Optimized guidance which is used by JVM for generating the effect of the java programs. Method interface in the JVM architecture represents the middleman role between JVM (execution engine) and java API. Java API contains a collection of packages.
TOOLS used in JDK:
Tools are nothing but the Exe file which are developed by SUN microsystem to run various applications of java, J2EE.
1. Applet viewer:
This is a tool used for running applet application when the browser is not advancing properly
jar stands for java archive. We use jar file for developing the business component or application class (In J2EE applications we generate the jar file for EJB applications.war stands for web archive used for developing web components (Servlets and JSP are called web components).
The syntax for creating war/jar: jar cfv filename.war/jar *.class
For example: jar cfv sravan.jar *.class
3. java: It is used to run a java program with the class name.
4. javac: It is used to compile a java program with the filename.
5. javap: It is used to see the API of the specific class or interface which belongs to a specified package.
Terminology in Programming Languages:
- Program: It is defined as set instructions, written according to the language syntax
- Compiled code: Compiler-generated program; it is generated from the source code
- Compiler: It is a translation program that converts the Source code into machine language at Once
- Interpreter: It is a translation program that converts the Source code into machine language line by line
- Compilation: It is the process of translating source code into compiled code
- Executable code: Operating System understandable readily executable programs
The various JDK versions are:
- JDK Alpha and Beta (1995): Sun announced Java on September 23, 1995.
- JDK 1.0 (January 23, 1996): Originally called Oak (named after the oak tree which was outside James Gosling’s office). Renamed to Java 1 later.
- JDK 1.1 (February 19, 1997): Introduced AWT event model, inner class, JavaBean, JDBC, and RMI.
- J2SE 1.2 (codename Playground) (December 8, 1998): Rebranded as “Java 2” and renamed JDK to J2SE (Java 2 Standard Edition). Also released J2EE (Java 2 Enterprise Edition) and J2ME (Java 2 Micro Edition). Included JFC (Java Foundation Classes ). Introduced Collection Framework and JIT compiler.
- J2SE 1.3 (codename Kestrel) (May 8, 2000): Introduced Hotspot JVM.
- J2SE 1.4 (codename Merlin) (Feb 6, 2002): Included assert, non-blocking IO (NIO), logging API, image IO, Java web start, regular expression support.
- J2SE 5.0 (codename Tiger) (September 30, 2004): Formally announced 5.0 rather than 1.5. Introduced generics, autoboxing/unboxing, annotation, enum, var args, for-each loop, static import.
- Java SE 6 [codename Mustang] (Dec/11/ 2006): Renamed J2SE to Java SE (Java Standard Edition).
- Java SE 7 (codename Dolphin) (July 28, 2011): First version after Oracle purchased Sun (called Oracle JDK).
- Java SE 8 and many more Read here
That’s all about Introduction To Java Programming Language for Beginners, However, Feel free to share our article with your friends, sharing is caring :).