Introduction to Java
Java, its one of the most popular computer language. Java is now 25 years old, and since the time of its birth, its popularity never decreases. Java is being used in desktop/thick client application, web, mobile, Internet of Things, Cloud and many areas different industries.
Therefore I decided to start a series to teach Java for beginners. It will not only help starter but also people who want to brush up their java skills can get benefit from this series. I am going to use Java SE 11 version. And I will try to cover topics which will helpful in preparing Java SE 11 certification exam (1Z0-819). I will also cover the new features added in Java SE 11 like Modules, JShell, local variables, and although introduced in Java 8 but I will still like to cover it is Lambda.
History of Java
Java was first introduced by James Gosling in 1991 at SunMicrosystems. Later in 2009 SunMicrosystem was acquire by Oracle Corporation. Initially the language was named as “Oak”, later it was renamed as Java. Before the invention of Java, C/C++ was general purpose language. They are still in the market. And many companies are still working or using C/C++. There was one disadvantage of C/C++ is that it is platform dependent language. A need of platform independent language was arises. Therefore the main concept behind developing Java was to make it platform independent language.
Java has below editions
- Java SE: Java Standard Edition, its the based edition all other editions based on it. In this introduction to Java I am going to use JAVA SE 11
- Java EE: Java Enterprise Edition early known as J2EE. It provides features for enterprise development like distributed computing
- Java ME: Java Micro Edition. It provide environment for mobile and Internet of Things development
- JAVA Card: It provides libraries to run Java application on smart cards
When Java was first introduced the new version of Java not that frequent. But with the release of Java 9, a new version of Java are released after every 6 months. But not all the versions of Java are LTS. LTS (Long Term Supported) versions are final versions and they are supported by Java for long run. Versions which are not LTS contains new features which are in experiment phase and they might drop in next version. Right now version 11 is LTS, whereas previous version 8 was LTS. In between version 9 & 10 were not LTS. To find out more about upcoming Java version you can visit Oracle Java page.
Java is object oriented language. And its platform independent. I will explain more about Object Oriented Programming (OOP) in upcoming post. Right now let’s look what happen when Java code is complied. When Java code is complied it is not in an executable form. It’s converted into ByteCode. ByteCode in not machine code but it’s near to that. ByteCode run in JVM (Java Virtual Machine). JVM is part of JRE (Java Runtime Environment). Its mean once your code is complied and it can run on any platform (Mac, Windows, Linux) which is having JVM. From Java 9 JVM can be part of your deployment package. It means you not need separately install JVM. If its part of deployment package and target machine is not having JVM. It will automatically installed.