Java is a general-purpose strongly typed computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. Here, strongly typed means every variable/expression has a type and every type is strictly defined. It is owned by Oracle and is being used on more than 3 billion devices.
Java is inspired by C++ and C programming languages. Java derives syntax from C whereas object-oriented features of Java are derived from C++. The set of instructions written in Java is converted to Byte code, which is executed by the Java Run time system called the Java Virtual Machine(JVM). When a Java code is converted to byte code, it can be run in multiple environments as long as a JVM exists on that platform. Java does not care whether the underlying architecture is Windows or Linux. This programming language is needed to run those applications that are written in Java.
History of Java
Java was created by James Gosling, Patrik Naughton, Chris Warth, Ed Frank, and Mike Sheridan when they were working at Sun Microsystems, Inc. in 1991. It was publicly released in 1995, but was initially called “Oak”. This was initially developed while working on a language for set-top boxes, televisions, etc. The name Java came from the espresso bean while James was having a coffee near his office. The main motivation for creating this language was to make a language that is platform-independent, robust, and has high performance. The initial version of the JDK (Java Development Kit) beta was released in 1995 and JDK 1.0 in January 1996.
Features of Java
Some features include Object-Oriented, platform-independent, Robust, Interpreted, and Multi-threaded.
- Architectural Neutral
Java compiler generates an architecture-neutral object file format, which makes the compiled code to be executable on many processors, with the presence of a Java runtime system.
When Java is compiled, it is not compiled into the platform-specific machine, but rather into platform-independent byte code. This byte code is distributed over the web and interpreted by a Java Virtual Machine (JVM) on whichever platform it is being run. It can run on Windows, Mac, Linux, Raspberry Pi, etc.
- High Performance
Java uses the Just-In-Time (JIT) compiler to enable high performance. A 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.
- Dynamic
It is designed to adapt to an evolving environment. Java programs can carry an extensive amount of run-time information that can be used to verify and resolve access to objects on run-time.
Editions of Java
There are mainly four editions of Java out in the market. They are given below.
- Standard Edition
- Enterprise Edition
- Micros Edition(ME)
- Java Card
Uses of Java
Java is one of the most popular programming languages as it is platform-independent. Once a runtime engine called Java Runtime Environment (JRE) is installed, Java applications can run on a desktop running Windows or Mac or Linux/ Unix server. Below are some common verticals where Java is used.
- Web-Based Applications
- Retail Sector
- Research and Development
- Android Applications (Most Android-based applications use APIs based on Java or use software that is written in Java)
- NASA-based Mars Rover mission powered by Java
- Financial Sectors (Wells Fargo/ Bank of America/Fidelity Investment)
- Government Institutions like the CIA/NASA/FBI
- Several Mission-Critical Applications
- Desktop-based GUI (Graphical User Interface) Applications
- Games