Java is an object oriented internet programming language
Java has become very popular.
There are many reasons why Java is so popular and some of these reasons are explained here: carefully read all the features of Java and try to realize its strength.
A list of main features of java language is given below:
Java is a true object-oriented language, which provides a platform to develop an effective and efficient application and program real life complexities. Java does not allow methods without class, thus an application consists of only the object which makes it true OOl. Most of the Object-oriented concepts in Java are inherited from C++ which makes it easy for traditional programmers to understand it.
Java has a philosophy called WORA (Writing Once, Run Anywhere). Java code is compiled into an intermediate format, called bytecode, which is to be executed in the JVM (Java Virtual Machine). Any system that runs a JVM is able to execute the Java code.
That means we can run java code on multiple plateform, for example, Windows, Linux, Mac/OS, Sun Solaris etc.
Java is secure because it has managed execution model. In managed execution model of java different security policy are defined for different execution environment.
To implement these security policy, execution of java was made interpreted. So, that security policy can be checked for each instruction before execution
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.
It also provides an exception handling concept to handle logical errors that may crash a system.
Thats means carry the java byte-codes to any plateform
No implementation dependent features. Everything related to storage is predefined, example: size of primitive data types
Java multithreading feature makes it possible to write program that can do many tasks simultaneously.
Benefit of multithreading is that it utilizes same memory and other resources to execute multiple threads at the same time, like While typing, grammatical errors are checked along.
Java is also a distributed language. Programs can be designed to run on computer networks.
Java has a special class library for communicating using TCP/IP protocols. Creating network connections is very much easy in Java as compared to C/C++.
Java is easy to learn for programmers because it is (syntax) similar to C and C++ and most of the complex parts of C/C++ have been excluded including operator overloading, multiple inheritance and pointers. Approximately half of the bugs in C and C++ programs are related to memory allocation and de-allocation. Therefore the important addition in Java is automatic memory allocation and de-allocation.
Java gives the facility of dynamically linking new class libraries, methods, and objects. It is highly dynamic as it can adapt to its evolving environment.
Java even supports functions written in other languages such as C and C++ to be written in Java programs. These functions are called “native methods”. These methods are dynamically linked at runtime.
Java provides high performance with the use of “JIT – Just In Time compiler”, in which the compiler compiles the code on-demand basis, that is, it compiles only that method which is being called. This saves time and makes it more efficient.
Java architecture is also designed in such a way that it reduces overheads during runtime. The inclusion of multithreading enhances the overall execution speed of Java programs.
Bytecodes generated by the Java compiler are highly optimized, so Java Virtual Machine can execute them much faster.