There are various features that makes the java as a simple language. because Java is easy to learn and developed by taking the best features from other languages mainly like C and C++. It is very easy to learn Java who have knowledge of object oriented programming concepts. Java provides the error free development environment for programmer because it provide automatic memory management by development environment and eliminate pointers.
Java is Platform Independent
Java provides the facility to "Write once -Run any where"(Known as plateform independent). Not even a single language is idle to this feature but java is more closer to this feature. Java Provide the facility of cross-plateform programs by compiling in intermediate code known as bytecode. this bytecode can be interpreted on any system which have Java Virtual Machine(JVM).
Java is Object-oriented
The object oriented language must support the characterstics of the OOPs. and Java is a fully object oriented language . it supports all the characterstics needed to be object oriented. In the Java every thing is treated as objects to which methods are applied.As the languages like Objective C, C++ fulfills the above four characteristics yet they are not fully object oriented languages because they are structured as well as object oriented languages. But in case of java, it is a fully Object Oriented language because object is at the outer most level of data structure in java. No stand alone methods, constants, and variables are there in java. Everything in java is object even the primitive datatypes can also be converted into object by using the wrapper class.
Java is Distributed
The widely used protocols like HTTP and FTP are developed in java. Internet programmers can call functions on these protocols and can get access the files from any remote machine on the internet rather than writing codes on their local system.
Java is Secure
Java does not use memory pointers explicitly. All the programs in java are run under an area known as the sand box. Security manager determines the accessibility options of a class like reading and writing a file to the local disk. Java uses the public key encryption system to allow the java applications to transmit over the internet in the secure encrypted form. The bytecode Verifier checks the classes after loading.
- No memory pointers
- Programs runs inside the virtual machine sandbox.
- Array index limit checking
Class Loader - confines objects to unique namespaces. Prevents loading a hacked "java.lang.SecurityManager" class, for example.
Security Manager - determines what resources a class can access such as reading and writing to the local disk.
Java is compiled and interpreted
We all know that in Java code is compiled to bytecodes that are interpreted by Java virtual machines (JVM) . This provides portability to any machine for which a virtual machine has been written. The interpreter program reads the source code and translates it on the fly into computations.The two steps of compilation and interpretation allow for extensive code checking and improved security.
Java is Robust
Java has the strong memory allocation and automatic garbage collection mechanism. It carries out type checking at both compile and runtime making sure that every data structure has been clearly defined and typed. compiler checks the program for any error and interpreter checks any run time error that every data structure is clearly defined and typed. Java manages the memory automatically by using an automatic garbage collector. all the above features makes Java language robust.
Java is Portable
The feature of java "write once -run any where" make java portable. Many type of computers and operating systems are used for programs By porting an interpreter for the Java Virtual Machine to any computer hardware/operating system, one is assured that all code compiled for it will run on that system. This forms the basis for Java's portability.