Java is a programming language and a platform . It was developed by James Gosling, who is known as the father of Java, in 1995. Java is general-purpose, a high-level programming language developed by Sun Microsystem. It allows developers to write once, run anywhere.It is a full platform with lots of standard APIs, open source APIs, tools, a big developer community with millions of developers etc.
Java files are stored in files suffixed with .java . These files are then compiled into Java byte code using the Java compiler, and the byte code is then executed using the Java Virtual Machine (JVM). The Java compiler and the JVM are part of the Java Development Kit (JDK).
Java programs written in the Java language are compiled into Java bytecode which can be executed by the Java Virtual Machine. The Java bytecode is stored in binary .class files.
Features of Java
Java is Familiar
Java is similar to C/C++ but it removes the drawbacks and complexities of C/C++ like pointers and multiple inheritances. So if you have background in C/C++, you will find Java familiar and easy to learn.
Java is Simple
The Java programming language is easy to learn. Java code is easy to read and write.
Java is an Object-Oriented programming language
Java is a fully object-oriented programming language. It has all OOP features such as abstraction, encapsulation, inheritance and polymorphism.
Java supports Functional programming
Since Java SE version 8 (JDK 8), Java is updated with functional programming feature like functional interfaces and Lambda Expressions. This increases the flexibility of Java.
Java is Secure
The Java platform is designed with security features built into the language and runtime system such as static type-checking at compile time and runtime checking (security manager), which let you creating applications that can’t be invaded from outside. You never hear about viruses attacking Java applications.
Java is Multithreaded
The Java platform is designed with multithreading capabilities built into the language. That means you can build applications with many concurrent threads of activity, resulting in highly interactive and responsive applications.
Java is High Performance
Java code is compiled into bytecode which is highly optimized by the Java compiler, so that the Java virtual machine (JVM) can execute Java applications at full speed. In addition, compute-intensive code can be re-written in native code and interfaced with Java platform via Java Native Interface (JNI) thus improve the performance.
Java is Platform Independence
Java code is compiled into intermediate format (bytecode), which can be executed on any systems for which Java virtual machine is ported. That means you can write a Java program once and run it on Windows, Mac, Linux or Solaris without re-compiling. Thus the slogan “Write once, run anywhere” of Java.
Java is Robust
With automatic garbage collection and simple memory management model (no pointers like C/C++), plus language features like generics, try-with-resources,… Java guides programmer toward reliable programming habits for creating highly reliable applications.