Get Adobe Flash player

Tuesday, November 15, 2011

Features of Java


Simple:
        The syntax for Java is like a cleanup version of the syntax of C++. Their is no need for header file pointer arithmetic structures, union , operator overloading and virtual base class and so on...
        Another aspect for being simple is being small. Java enable the construction of software that can run stand alone in a small machine. The size of the basic interpreter and class support is only 40 KB (approx).

Object oriented:
        Java is a object oriented language. Almost everything in java is an object. All program code and data reside within class and objects. The objects model in java is simple and easy to extend.
Distributed :
        Java is designed as a distributed ;language for creating application of networks. It has the ability to share bot data and programs. Java application can open and access a remote object on internet as easy as they can do in a local system. This enables multiple programs at multiple remote locations to collaborate and work together in a single project.

Robust:
        Java is a robust language. It provides many save guards to ensure many reliable code. It has strict compile time and run time checking for data types. This feature is also very useful. The java compiler detects many problems that in other language would show up only at run time.

Secure:
        Security becomes an important issue for a language that is used for programming on internet. Threat of viruses and abuse of resource are everywhere. Java system not only verify all memory access but also ensure that no viruses are communicated with an applet . The absence of pointer in Java ensure that programs can not gain access to memory location without proper authorization.

Architecture Neutral:
        The compiler generate an architecture-neutral file format.  The compiled code is executable in many processors, if given the presence of the java run time system. The Java compiler does this by generating bytecode instruction, which have nothing to do a particular computer architecture rather they are designed to both easy to interpret and easily translated to native machine code in the fly.

Portable:
        Unlike C and C++ there are no "implementation dependents" - aspect of the specification. The size of the preemptive data types are specified as is the behavior of arithmetic on them. For example an int in Java is always a 32 bit Integer. In C/C++ int can mean a 16 bit Integer, a 32 bit Integer or any other size that the compiler vendor likes.

Compiled & Interpreted :
        Usually a Computer language is either compiled or Interpreted. Java combines both of these approaches. Thus making Java a two state system. First Java Compiler translate secure code into bytecode instruction. Bytecode are not machine instruction and therefore in the second stage Java interpreter generates machine code that can be directly executed by the machine, that is running the Java program.

High performance:
        Java performance is impressive for an interpreted language, mainly due to the use of intermediate bytecode. Java architecture is also deigned to reduce overhead during run-time, further the incorporation of multireading enhances the overall execution speed of Java programs.

Multithreaded :
        Multithreaded means handling multiple tasks simultaneously. java supports multithreaded programs, this means that we need not wait for the application to finish one task before beginning another. For example we can listen to any audio clip while scrolling a page and at the same time download an applet from a distant computer. The benefits of multithreding are better interactive responsiveness and real time behavior. Threads in Java also can take advantages of multiprocessor system, if the base operating system does so.

Dynamic :
        Java is a dynamic language. Java is capable of dynamic linking in new class libraries, methods, objects. Java can also determine the type of class through a query, making it possible to either dynamically link of abort the program, depending on the response.

0 comments:

Post a Comment