This Java tutorial has been prepared for the beginners to help them understand the basic to advanced concepts related to Java Programming language.
Java is one of the most used programming languages in the world. It is a high level programming language developed in 1995 by Sun Microsystems. It now comes under Oracle. More than 3 billion devices use java language as it is used to build desktop applications, mobile applications, web applications, games and servers e.t.c.
History
The person behind the development of Java language is James Gosling who started working on this language to use in his cable set top box for television in 1991. He named the language initially as Oak. The name was inspired by an Oak tree outside his office. He later named it Java that was a combination of random words.
After working on this language for 4 years, Sun Microsystems finally released its first version to the public in 1995 as (Java 1.0 [J2SE]). It was based on the principle of Write Once, Run Anywhere (WORA). As it can be run on any platform and no compiler is needed for it.
In the year 2006, under the license of GNU General Public License (GPL), Sun released JAVA language as an open source software that was free to use and contribute. Finally, in the year 2007 Jit was completely available to the public as open source software with full functionality.
Versions
After its release, Java became a widely used language across the globe in no time. Currently the latest version of this language in use is Java Standard Edition Java SE 8. A lot of modifications and improvements have been made in the language according to the requirements, since its first release. Now it has configurations capability for almost every platform. For example, its version for Enterprise Applications is J2EE and that for Mobile Applications is J2ME. The new version of this language previously named as J2 versions are now called as Java SE, Java EE, and Java ME respectively.
Following versions of this language have been released up till now:
- JDK Alpha and Beta (1995)
- JDK 1.0 (23rd Jan 1996)
- JDK 1.1 (19th Feb 1997)
- J2SE 1.2 (8th Dec 1998)
- J2SE 1.3 (8th May 2000)
- J2SE 1.4 (6th Feb 2002)
- J2SE 5.0 (30th Sep 2004)
- Java SE 6 (11th Dec 2006)
- Java SE 7 (28th July 2011)
- Java SE 8 (18th Mar 2014)
- Java SE 9 (21st Sep 2017)
- Java SE 10 (20th Mar 2018)
- Java SE 11 (25th Sep 2018)
- Java SE 12 (19th Mar 2019)
- Java SE 13 (17th Sep 2019)
- Java SE 14 (17th Mar 2020)
- Java SE 15 (15th Sep 2020)
- Java SE 16 (16th Mar 2021)
Importance of Java
This language has become popular and widely used because of many reasons. A few of them are listed below:
- Object Oriented Programming: It is an Object Oriented Programming OOP language that is based on classes. For creating anything in Java, user has to create a class and its object first.
- Platform Independent: Platform independency makes it different form all other languages like C, C++ and C#. Code written in this language can be run on any platform, cutting the cost of run time. It uses a virtual machine JVM to interpret the platform independent byte code that is why it does not matter on which platform it is running be it Windows, Mac, Linux, Raspberry Pi, etc.
- Simplicity: Over the time, with its latest version it has become easier to write code in this language. Anyone who has grasp over the concepts of OOP can write code in this language as well. Moreover, it has similarity to C and C++ programming languages.
- Distributed Structure: Its code is distributed over the internet and hence have a huge support community, having over millions of contributors.
- Security: It provides public key encryption for authentication purpose that makes it secure and fast.
- Robust: Error detection on compile time makes it robust and powerful.
- Architecture independent: Java runtime system makes it architecture independent that means after compilation code can be executed on many processors.
Prerequisites of Java Tutorial
Before you start practicing various types of examples given in this Java Tutorial, we assume that you are already aware about computer programs and computer programming languages.