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)
- To adapt to changes in environment –
·
Need for platform independent programs destined for distribution
on the internet.
- 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:-
- Portability
- 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.
·
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