The First Question comes in mind, Why we Learn Java , there are lot of programming languages available now these days.  Following are the top 10 reasons.

  1. WORA - Write Once RunAnyWhere. It means as a Java Developer , you will write the Source Code and You can run the code on different machines like MAC, Windows, Linux. Now the Thing is How this is possible, because programming like C or C++ , When we write any source code and compile it we get the native code which work only for that particular machine. But in case of Java Source Code compiles into Byte Code (Intermediate Code) and this code is not dependent on any machine, this is machine independent code, you can run this code on any machine having a special software called JRE (Java Runtime Environment). JRE is used to convert Byte Code into Native Code.  JRE Comes for every Platform like For Windows, Linux , MAC . All they have different JRE so JRE is platform dependent. Platform means i.e Platform = Machine + Operating System e.g 64 bit Machine with Windows 10 or 64 Bit Machine with Mac OS.
WORA 

2. Open Source ? - Java is Open Source till Java 10 , From Java 11 onwards it is licensed. So from April 2019 onwards they licensed any new release either on old version. for example: Java 8 version new updates will be licensed so if you Java 8 after 2019 release version , it will be licensed. The License says for Development , for Charity Software , for Education purpose it is free, but for commercial use it is licensed.

3. Secure - Java is a Secure Language, it don't have any support of Pointers, so developer never get an address of memory. Also it has Byte code verification stage before executing the code, so byte code verified it checks it doesn't have any malicious thing in the Byte Code. It doing the compile time and runtime checking before executing the code. Because of the security Java use mostly in financial domain like Banking, Payments etc.

4. Reliable - Java is Reliable to do the serious development. It provides Exception Handling. So no Abnormal Behaviour of the code disturb the application. for eg. If create a Login Screen in Java and all the User info coming from the database and database is get down so java generate an exception and as a Java Developer you have Exception Handling to treat these bugs generated on runtime. Also Java has Automatic Garbage Collection, so it release the unused objects from the Memory , so chances of going out of Memory of a Program is very less in Java.

5. Multi Purpose - Java use in variety of things , Used in Web Development, Enterprise Application Development, Mobile App Development, BigData , Automation etc.

6. Multi Paradigm - Java is MultiParadigm Language, It having feature of OOPS, Functional Programming, Async Programming.

7. MultiThreaded - A Thread is "Code in Execution", so every program having main method and main is a Thread, so we use most of the time main thread that is a single thread. But some time our code need parallel things to execute, for eg. we build a chat application and we want to parallel chat with 10 users and at the same time we type messages and also we reading the new messages. Java has a very good support of MultiThreading.

8. Modern - Java is Modern and keep adapting the new changes like is adapt Functional and Async Programming, MicroService Based Development, Reactive Programming, ORM , Modularity etc.

9. Distributed - Java is used to build Scalable applications, so instead of deploy application on one machine we can distributed into several machines. So we can share the application load instead of one machine to N Machines. So it provides greater availability , no single point failure, load distribution etc.

10. Strong Community and Strong Growth - 7.6 Million Active Developer. 40% Developer WorldWide Prefer Java. Best in class Documentation written. Java is the Number 1 Choice for Developing Enterprise Level Application. Following are the list of companies using Java i.e AirBnB, NetFlix , Spotify, Amazon, TCS, HCL, Wipro, IBM etc.

That's all Folks meet you in next Tutorial 😀