Thursday, 18 October 2012

Java History and Features

Power of Java 

Java - A bridge to communicate 


James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. Java was originally designed for interactive television. The language was initially called Oak and was later renamed Java, from Java coffee. Sun Microsystems released the first public implementation as Java 1.0 in 1995. It promised "Write Once, Run Anywhere" (WORA).
By Wikipedia

Java Features

1. Compiler/Interpreter Combo
    Code is compiled to bytecodes that are interpreted by a Java virtual machines (JVM) .
    This provides portability to any machine for which a virtual machine has been written.
    The two steps of compilation and interpretation allow for extensive code checking and improved security.

2. Object Oriented
    No coding outside of class definitions, including main().
    An extensive class library available in the core language packages.

3. Platform Independence
    The Write-Once-Run-Anywhere ideal has not been achieved (tuning for different platforms usually required), but closer than with other languages.

4. Robust
    Exception handling built-in, Data must be declared an explicit type, local variables must be initialized.
   
5. Automatic Memory Management
    Automatic garbage collection by JVM.

6. Security
    bytecode verifier - checks classes after loading
    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.

7. Dynamic Binding
    The linking of data and methods to where they are located, is done at run-time.
    New classes can be loaded while a program is running. Linking is done on the fly.
    Even if libraries are recompiled, there is no need to recompile code that uses classes in those libraries.

8. Good Performance
    Advanced virtual machines and just-in-time compilation and other techniques now typically provide performance up to 50% to 100%.

9. Threading
    Lightweight processes, called threads, can easily perform multiprocessing.
    Can take advantage of multiprocessors where available
    Great for multimedia displays.

10. Built-in Networking
    Java was designed with networking in mind and comes with many classes to develop sophisticated       Internet communications.

11. Elimination of Unsecured elements
    No memory pointers
    No preprocessor
    Array index limit checking

Funny Quotes :-

“If debugging is the process of removing bugs, then programming must be the process of putting them in.” (Edsger W. Dijkstra)

No comments:

Post a Comment