Motivation
- Need for a platform independent language to embed in various consumer systems.
- WWW ( World Wide Web) originated at the same time boosted java development further.
Java Applets
- An applet is a special program transmitted over the internet which is automatically executed by a JAVA compatible browser.
- Dynamic, self-executing program.
- Carries out basic functions like displaying data, handling user data , simple functions etc.
Bytecode
- JAVA compiler generates bytecode ( highly optimised intermediate code).
- It can be executed by JVMs of various kinda of systems.
- Achieves Portability : bytecode geberated on one system can be executed in any other system ( JVM is implemented differently for differnt systems.)
JVM
- A java runtime environment which contains the entire java program and prevents any side effects outside it.
- Contains JIT(Just in time) compiler which compiles selected portions of bytecode to native code in real time by performing various run-time checks.
Servlet
- A small program that executed on server to provide some basic functionality. ( similar to applets on clients)
- Used to create dynamic content at the server side, which is then sent to the client side.
Buzzwords
- Simple : Easy to learn and use
- Object-Oriented : treats everything as an object in the object model.
- Robust : written programs execute in a predictable manner ; reliable ; free from common errors ; strictly typed language
- Architecture-Neutral : programs execute independent of underlying architecture.
- Multithreaded : programs can do multiple things simultaneously.
- Interpreted and high performance : unlike most interpreted languages , java achieves high performance even though it uses bytecode.