Java is an open source object oriented programming language that was developed by Sun Microsystems. A team of Sun Microsystems including Patrick Naughton, Mike Sheridan under James Goslings decided to develop a programming language that is better than C and C++. They thought that the programming language must be helpful to developers and provide an easy but secure and reliable environment to code in. Hence they developed Java.
The company was later overtaken by Oracle. Java is used in developing softwares for computers, application for smartphones, games, etc. It is being used in almost every field throughout the world. Most of the programmers and developers opt for Java because of the various features it provide to them over other languages.
Java is a simple language to code in in respect to other language like C, C++. Also programmers have the aid of Java class library. It is very rare that a Java program crash because of its garbage collection system and memory allocation system. Java works on multi-threading that makes the work easy and quick. Different threads are executed at the same time that saves a lot of time.
Java is based on WORA (Write Once Run Anywhere) i.e. a program written in Java can work on all operating systems and platforms. It is because the program written in Java is not directly converted into machine readable code instead Java compiler compiles the program into byte codes that can be converted into machine code by JVM (Java Virtual Machine). Operating system like Mac, Windows, Linux, etc have their own JVM and hence all Java based programs can run on them.
Java programs are based on class, methods and objects. any number of objects can be defined and invoked within or outside a class. Java follow OOPS concept because it follows features like encapsulation, inheritance and polymorphism. A java program is always saved with .java extension.
To create and run Java program and applications one requires Java Runtime Environment (JRE) that includes JDK (Java Development Kit) which is required to test the code, JVM (Java Virtual Machine) which converts the byte code into machine readable code, Java Integrated Development Environment, which comes with set of tools and libraries that help Java developers and programmers in developing program.
Java is being used in different places. JSP (Java Server Pages) helps in creating dynamic web pages like PHP and ASP.
Most of the web browsers today support Java. Java Applets are used within a web page to add many new features to a web browser. They are used in instant messaging, chat service, solving some complex calculation, etc.
Java 2 Enterprise Edition (J2EE) are used by various companies to transfer data based on XML structured documents between one another.