Tuesday, 29 March 2011

What is Java ?


Java is a programming language originally developed by Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. It was used for the project set top box, was created by James Gosling in 1991. It is the modified from the language Oak. Oak was unsuccessful in the market. So Sun modified this language and changed its name to Java. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture.

Java is a :

1. Simple:
  • Has a small set of language constructs.
  • Derives its syntax from C & C++.
  • Is free from pointers.
  • Uses garbage collection.
2. Object Oriented:
  • Supports the basic notion of OO: Abstraction, Modualrity, Encapsulation, Hierarchy, Typing, Concurrency, Persistence.
  • Almost Everything is an Object.
3. Distributed:
  • Works on variety of Platforms.
  • Provides support for: Networking, Internet, Remote Objects.
4. Interpreted:
  • The Java Compiler generates byte code for JVM.
  • A Java Interpreter is needed to execute the bytecode.
5. Robust:
  • Exception & Error Handling.
  • Multi-Tasking.
  • Memory Protection and Management.
  • Allows Modular Development.
  • Extensive compile-time checking.
6. Secure:
  • Java security comprises two parts: security inside the Java Virtual Machine (JVM) and security outside the JVM.
7. Architecture Neutral:
  • Bytecode can run on any JVM or on any platform.
  • "Write once, run anywhere".
  • JDK Implementations on any platform.
8. Portable:
  • The bytecodes can be run on virtual machines(VM) above different operating systems such as MacOS, Windows 95/NT/CE, Solaris, OS2, etc,.
  • It can also run directly on hardware.

9. High Performance:
  • Mutli-Threading allows more than one task in a program.
  • With JIT compilers the intrepreted code compiles at run time and gives almost native code speed.
10. Dynamic:
  • Java has been built to support the development of dynamically extendable systems.
  • Objects can live on the internet.
  • Java provides dynamic linking of the binary code at runtime.

0 comments:

Post a Comment