Tuesday, October 20, 2015

Features of Java

Java is a programming language, in which we can develop new system. It is a user friendly language so every one want to learn. Java is similar to c and c++ so if you know about basic building block of c and c++ then no need to more learn about java building block. So there is lots of features provided by it, some of these are:

  1.  Simple
  2. Strongly typed language.
  3. Object-Oriented
  4. Platform independent
  5. Secured
  6. Robust
  7. Architecture neutral
  8. Portable
  9. Dynamic
  10. Interpreted
  11. High Performance
  12. Multithreaded
  13. Distributed
Simple

According to Oracle, Java language is too much simple because:
  • Syntax is based on C and C++ , everyone know the basic building block of these languages.
  • Removed hardly learn features from JAVA library e.g., explicit pointers, operator overloading etc.
  • No need to remove unreferenced objects because there is Automatic Garbage Collection in JAVA.
  •  Lots of best GUI available in the market so they makes task easier.
  •  Strong library available so no need to write code for each component like Button, Label in AWT Java.
Strongly typed Language

Java is a strongly typed language, i mean to say each variable is declared with their data type. In VB6 we can assign a variable without their data type but in case of  java, you must to define the type of variable.
In VB6
a=10    ' its correct

In Java
a=10 ; // Wrong,
int a=10 ; //Right

Object Oriented

Java support object oriented concepts so we can design our software on the basis of object properties and their behavior. We have a list of OOP basic concepts, these are:

  • Class :  It is a user define data type or you can say it is a complex data type. With the help of class we can define object properties and their behavior inside the block.
  • Object :  It is a real time entity.
  • Encapsulation : Clubbing the data member (Properties of the object) and member function (Behavior of the object) inside the class known as Encapsulation.
  • Inheritance : In which we have minimum two classes one is base class and  other is child class. Now, the definition of it: access properties and method of the base class access by the child class known as Inheritance.
  • Data hiding & Data abstraction : Hide the data access level by the permission known as data hiding. In case data abstraction we should go for only overview of the system also hide the implementation details.
  • Polymorphism : poly means many and morphism means state. 
Platform Independent
Java code can run in any platform(operating system) so its a platform independent language. First of all source code compiled into byte code by the java compiler. By using JVM, we can interpret the byte code into machine independent code so we can say its a platform independent language.

Platform independent


Note :  Java is a machine dependent language.

Multi-threaded
A thread is a light weight program, executing concurrently. we can execute multiple thread concurrently, i mean to say we can execute two separate thread concurrently. The main advantage of multi-threading is that it shares the same memory. Threads are important for multi-media, Web applications etc.

Distributed
We can create distributed and enterprise applications in java. RMI and EJB are used for creating enterprise applications. EJB is basically used in banking sectors where data changed rapidly. Lots of advantages provide by EJB, these are:
  • Persistent 
  • Remote awareness
  • Transaction
Portable
Portable is similar to platform independent concept. The means of portable is, you can carry the code in any platform. In JAVA JVM interprets the byte code and make platform independent code or you can say portable code.

Robust
Java provide strong features to the code like lack of pointers so strong point in memory management. During program execution java handle garbage collection. There is exception handling and type checking mechanism in java. All these points makes java robust.

High-performance
Java is faster than traditional interpretation since byte code is "close" to native code still somewhat slower than a compiled language (e.g., C++).

Secure:


 Java architecture


According to Java architecture byte code verifier provide following functionality :

  • The code follows JVM specifications.
  • There is no unauthorized access to memory.
  • The code does not cause any stack overflows.
  • There are no illegal data conversions in the code such as float to object references.
  • No comments:

    Post a Comment