Wednesday, 18 March 2015

History and Evolution of Java

Both C++ and Java are object oriented programming then what was the need to develop JAVA?
-C was to system programming and Java was to internet programming

-Languages evolve for two reasons: (Followed with Java reasons)
  1.     To adapt to  changes in environment –

·        Need for platform independent programs destined for distribution on the internet.
  1. 2.     To implement advances in the art of programming-

·        It enhanced the OOP paradigm used by C++,
·        Added integrated support for multithreading
·        Provided a library that simplified Internet access

How Java changed the Internet?
Java addressed two issues:-
  1.       Portability
  2.       Security

Java Applets helped in achieving these goals.

Java Applets:-
  • An applet is a special kind of program that is designed to be transmitted over the internet and automatically executed by a Java compatible web browser.
  • An applet is downloaded on demand without further interaction by the user.
  • Applets are intended to be the small programs.
  •   Applets extend the functionality of the web browser.


Java’s Magic: the byte code

  • Bytecode is the highly optimized set of instructions designed to be executed by the java run time environment called Java Virtual Machine (JVM).
  • JVM is an interpreter for the bytecode.
  • JVM differs platform to platform.
Bytecode can be executed on any platform, if JVM is installed on it. It makes bytecode to be portable.
·        
      JVM is in control, it contain program and prevent it from generating side effects outside the system
·        

         Hotspot technology provided Just in time (JIT) Compiler for bytecode.
o   JIT is the part of the JVM, selected portions of bytecode are compiled into executable code in real time, on a piece by piece, demand basis, if any benefit.
                  Why complete code is not compiled at once?
                  Because JVM performs run time checks that can be done only at run time.

Servlet:
·        It is a small program that executes on the server side.
·         Just as applet, servlets extend the functionality of the server.

Java Buzzwords
1.     Simple - Easy to learn, inherits C/C++ syntax and OOP features of C++.
2.     Secure - JVM contains the program, executes it and prevents it from executing.
3.     Portable - Bytecode can be transmitted over Internet.
4.     Robust -
5.     Object oriented
6.     Multi-threaded
7.     Architectural neutral
8.     Interpreted
9.     Distributed
10.  Dynamic
11.  High performance

No comments:

Post a Comment