Java is one of the world’s most important and widely used computer languages, and it has held this distinction for many years. Unlike some other computer languages whose influence has weared with passage of time, while Java’s has grown.
Java is a high level, robust, object-oriented and a secure and stable programming language but it is not a pure object-oriented language because it supports primitive data types like int, char etc.
Java is a platform-independent language because it has runtime environment i.e JRE and API. Here platform means a hardware or software environment in which an application runs.
Java codes are compiled into byte code or machine-independent code. This byte code is run on JVM (Java Virtual Machine).
The syntax is Java is almost the same as C/C++. But java does not support low-level programming functions like pointers. The codes in Java is always written in the form of Classes and objects.
As of 2020, Java is one of the most popular programming languages in use, especially for client-server web applications.Its has been estimated that there are around nine million Java developers inside the world.
Creation of Java
Java was developed by James Ghosling, Patrick Naughton, Mike Sheridan at Sun Microsystems Inc. in 1991. It took 18 months to develop the first working version.
The initial name was Oak but it was renamed to Java in 1995 as OAK was a registered trademark of another Tech company.
History of Java
Originally Java was designed for Interactive television, but this technology was very much advanced for the industry of digital cable television at that time. Java history was started with the Green Team. The Green Team started a project to develop a language for digital devices such as television. But it works best for internet programming. After some time Java technology was joined by Netscape.
The objective to create Java Programming Language was it should be “Simple, Robust, Portable, Platform-independent, Secured, High Performance, Multithreaded, Object-Oriented, Interpreted, and Dynamic”.
Java was developed in Sun Microsystem by James Ghosling, Patrick Naughton, Mike Sheridan in 1991. It took 18 months to develop the first working version. James Ghosling is also known as the Father of Java.
Initially, Java was called “Greentalk” by James Gosling and at that time the file extension was .gt.
Later on Oak was developed as a part of the Green Team project. Oak is a symbol for strength and Oak is also a national tree in many countries like the USA, Romania etc.
Oak was renamed as Java in 1995 because Oak was already a trademark by Oak Technologies. Before selecting the Java word the team suggested many names like dynamic, revolutionary, Silk, jolt, DNA, etc.
Java is an island in Indonesia, here the first coffee was produced or we call Java coffee. Java coffee is a type of espresso bean. James gosling chose this name while having coffee near his office.
The word JAVA does not have an acronym. It is just a name.
In 1995 Java was one of the best product by the Time magazine.
Java Version History
Here we have listed down all the versions of Java along with the main features introduced in those versions.
|Version Name||Coad Name||Release Date||Description|
|Java Alpha and Beta||1995||
|JDK 1.0||Oak||January 1996||
|JDK 1.1||February 1997||
|J2SE 1.2||Playground||December 1998||
|J2SE 1.3||Kestrel||May 2000||
|J2SE 1.4||Merin||February 2002||
|J2SE 5.0||Tiger||September 2004||
|Java SE 6||Mustang||December 2006||
|Java SE 7||Dolphine||July 2011||
|Java SE 8(LTS)||March 2014||
|Java SE 9||September 2017||
|Java SE 10||March 2018||
|Java SE 11(LTS)||September 2018||
|Java SE 12||March 2019||
|Java SE 13||September 2019||
|Java SE 14||March 2020||
|Java SE 15||September 2020|
|Java SE 16||March 2021|
|Java SE 17(LTS)||September 2021|
Evolution of Java
Java was initially launched as Java 1.0 but soon after its initial release, Java 1.1 was launched. Java 1.1 redefined event handling, new library elements were added.
In Java 1.2 Swing and Collection framework was added and
stop() methods were deprecated from Thread class.
No major changes were made into Java 1.3 but the next release that was Java 1.4 contained several important changes. Keyword
assert, chained exceptions and channel based I/O System was introduced.
Java 1.5 was called J2SE 5, it added following major new features :
- Autoboxing and autounboxing
- For-each Loop
- Static Import
- Formatted I/O
- Concurrency utilities
Next major release was Java SE 7 which included many new changes, like :
- Now String can be used to control Switch statement.
- Multi Catch Exception
- try-with-resource statement
- Binary Integer Literals
- Underscore in numeric literals, etc.
Java SE 8 was released on March 18, 2014. Some of the major new features introduced in JAVA 8 are,
- Lambda Expressions
- New Collection Package
java.util.streamto provide Stream API.
- Enhanced Security
- Parallel Array Sorting
- The JDBC-ODBC Bridge has been removed etc.
Java SE 9 was released on September 2017. Some of the major new features introduced in JAVA 9 are,
- Platform Module System (Project Jigsaw)
- Interface Private Methods
- Try-With Resources
- Anonymous Classes
- @SafeVarargs Annotation
- Collection Factory Methods
- Process API Improvement
Java SE 10 was released on March 2018. Some of the major new features introduced in JAVA 10 are,
- Support local variables type inference.
- Support local variables type inference.
- Included Application class.
Java SE 11 was released on September 2018. Some of the major new features introduced in JAVA 11 are,
- Support bug fixes.
- Include long term support(LTS).
- Support transport layer security.
Java SE 12 was released on March 2019. Some of the major new features introduced in JAVA 12 are,
- Support JVM Constant API.
- Include CDS Archives.
Java SE 13 was released on September 2019. Some of the major new features introduced in JAVA 13 are,
- Updated Switch Expressions.
- Include Text Blocks.
- Support Legacy socket API.
Java SE 14 was released on March 2020. Some of the major new features introduced in JAVA 14 are,
- Support Event Streaming.
- Improved NullPointerException.
- Removal of the Concurrent Mark Sweep (CMS) in the garbage collector.
Application of Java
Java is widely used in every corner of world and of human life. Java is not only used in softwares but is also widely used in designing hardware controlling software components. There are more than 930 million JRE downloads each year and 3 billion mobile phones run java.
Following are some other usage of Java :
- Developing Desktop Applications
- Web Applications like Linkedin.com, Snapdeal.com etc
- Mobile Operating System like Android
- Embedded Systems
- Robotics and games etc.
Types of Java Application
Following are different types of applications that we can develop using Java:
1. Standalone Applications
Standalone applications are the application which runs on separate computer process without adding any file processes. The standalone application is also known as Java GUI Applications or Desktop Applications which uses some standard GUI components such as AWT(Abstract Windowing Toolkit), swing and JavaFX and this component are deployed to the desktop. These components have buttons, menu, tables, GUI widget toolkit, 3D graphics etc. using this component a traditional software is developed which can be installed in every machine.
Example: Media player, antivirus, Paint, POS Billing software, etc.
2. Web Applications
Web Applications are the client-server software application which is run by the client. Servlets, struts, JSP, Spring, hibernate etc. are used for the development of a client-server application. eCommerce application is also developed in java using eCommerce platform i.e Broadleaf.
Example: mail, e-commerce website, bank website etc.
3. Enterprise Application
Enterprise application is middleware applications. To use software and hardware systems technologies and services across the enterprises. It is designed for the corporate area such as banking business systems.
Example: e-commerce, accounting, banking information systems etc.
4. Mobile Application
For mobile applications, Java uses ME or J2ME framework. This framework are the cross platform that runs applications across phones and smartphones. Java provides a platform for application development in Android too.
Example: WhatsApp, Xender etc.