Features of java:
• Platform independent
• High performance
Java was designed to be easy even for the beginner to learn and use effectively.Learning java will not be hard to master.If you already know the basic concepts of object-oriented programming,learning Java will be even easier.
Java was built with the high level of security.so creating any virus-free applications is made possible.To be more secure only public key encryption is used for most of the authentication techniques.
Having no implementation dependent aspects of the specification and being architecture-neutral makes Java portable.Since ANSI C with a clean portability boundary is used to write compiler in java, makes it as a POSIX subset.
Java was made as a clean, usable, pragmatic approach to objects.It works based on “everything is an object” principle.It is easy and simple to extend the object models in java. But the primitive types such as integers,float are considered as high performance non-objects.
Since Java is a portable language it doesn't care about the operating system or the hardware of the computer.when Java is compiled,it is compiled into platform independent byte code but not into platform specific machine. So it can run in any operating system.
Java is a strictly typed language,it checks your code at both compile time and run time. Many hard-to-track-down bugs which often turns up into hard-to-reproduce run time situations are simply impossible to occur in Java.
Java allows you to write programs in such a way that we can do many things simultaneously. The multiprocess synchronization is made possible with the help of java run time system which in turn enables us to construct smoothly running interactive systems.Java’s easy-to-use approach towards multithreading allows us to think about the specific behavior of the program,instead of the multitasking subsystem.
The Java compiler generates an architecture-neutral object file format.Since java consists ofJava Virtual Machine(JVM) that works based on the principle of“write once; run anywhere, any time, forever" architecture-neutal is made possible.
Interpreted & High Performance:
Java enables the creation of cross-platform programs by compiling into an intermediate representation called Java bytecode.The Java bytecode was carefully designed so that it would be easy to translate directly into native machine code for very high performance by using a just-in-time compiler.
Java is designed for the distributed environment of the Internet because it handles TCP/IP protocols.Java also supports Remote Method Invocation (RMI) which enables a program to invoke methods across a network.
Java is considered to be more dynamic since it is designed to adapt to any environment.Java verifies and resolves access to objects at run-time since it carries a large amount of run-time type informations.This makes java possible to dynamically link a code in a safe and expedient manner.