The following are the important characteristics of java program. They are
1 . Simple, small and familiar
2 . Object oriented
3 . Distributed
4 . Robust
6 . Architecture neutral or platform independent
7 . Portable
8 . Compiled and interpreted
9 . High performance
10 . Multithreaded and interactive
11 . Dynamic and extensible
1 . SIMPLE, SMALL AND FAMILIAR
Java is a simple small language. The syntax of java is just like C++ language. So it is very easy to learn. But programming in java is easier than C++ because
· It does not use header files
· It eliminates the use of pointers
· It eliminates operator overloading and virtual base classes.
So java is a simple small object oriented language. Since java is a small language so we can write software that can run in small computers.
2 . OBJECT ORIENTED
Java is a pure object oriented language. Everything in java is an object. All programs and data reside inside objects and classes. Object models in java is simple and easy to extend.
3 . DISTRIBUTED
Java has strong networking facilities. So using java we can create applications on networks. Using java we can open and use the applications on the internet. This facility helps the users from different places to work together on a single application.
4 . ROBUST
In many other languages attention is not given on memory management or exceptional behavior of a program in different situation. So most programs failed. But these issues are clearly dealt in java using the techniques called garbage collection and exception handling.
In garbage collection java uses a thread to free the objects which are not in use. So the programmers do not have to worry about the memory management. In exception handling java uses exclusively written codes to correct the exception situation.
5 . SECURE
Since java is used for programming on internet, security becomes an important issue. Before a java code from internet is interpreted, a security check is applied on it. This ensures that the java code does not contain any unwanted elements like viruses. Java has a facility to sign our java code before sending it. At the receiving end the receiver can tally the signature. If the signature matches, the codes reached correctly. If does not match the codes are not correct. This concept is called digitally signing.
6 . ARCHITECTURE NEUTRAL OR PLATFORM INDEPENDENT
Java compiler generates an architecture neutral or platform independent code called byte code. These codes can be run in any type of system. The figure given below shows this.
source code --> java compiler --> byte code
7 . PORTABLE
Java compiler generates a code called byte code and this code can be used by any machine. In java the size of the primitive data types are machine independent. So java is a portable language.
8 . COMPILED AND INTERPRETED
Generally computer languages are either compiled or interpreted. But java combines both compiler and interpreter. So java is a two stage as shown below.
source code --> compiler --> byte code --> interpreter --> machine code
Java compiler generates a machine independent code called byte code. These codes are not machine code. But java interpreter generates machine code from byte code that can be directly executed by the machine that is running the java program.
9 . HIGH PERFORMANCE
Since java interpreter uses byte codes, the performance is high. The speed is also comparable to other languages lake C, C++.
10 . MULTITHREADED AND INTERACTIVE
Multithreaded means handling more than one job at a time. Java supports multithreading. Java also supports constructing interactive programs.
11 . DYNAMIC AND EXTENSIBLE
Java is a dynamic language. So it is capable of linking dynamically new classes, methods and objects. Java also supports functions written in other languages such as C and C++. These functions are called native methods. During run time native methods can be linked dynamically.