By: Akanksha Yadav
By: Akanksha Yadav
James Gosling led the team which developed the Java programming
language.
HISTORY OF JAVA:
• At first glance, it may appear that Java was developed specifically
for the world wide web.
• OAK
• JAVA - James Gosling, Arthur Van Hoff, Andy Bechtolsheim
• Reliability : motivation for several important modification to C++
• Security : security is of great concern in a networked environment
thus concept of pointers was excluded.
• Turning point for Java
JAVA LANGUAGE
• Object – Oriented Language
• Java source code files compiled into a format called bytecode
• Change of format so that it can be executed by Java interpreter
• Java Virtual Machines (VMs)
• Bytecode can be directly converted to machine language by
Just-In-Time Compiler (JIT)
• Java is well suited for use on World Wide Web
• Unsafe features like pointers and operator overloading removed
from Java
• Backed with massive class library
• Call upon large set of GUI, mathematical and Internet access
codes
• Java initially promoted as platform for client-side applets
• Platform has been more successful on server-side of
internet
• Platform consists of 3 major parts :
1. Java Programming Language
2. Java Virtual Machine (JVM)
3. Java Application Programming Interface (API)
• Design of Java Platform controlled by vendor through Java
Community Process (JCP)
• Java exists in form of 3 editions :
1. Standard Edition (Java SE)
2. Enterprise Edition (Java EE)
3. Micro Edition (Java ME)
PORTABILITY
• The language is completely specified
• Java class library is available on any machine with a Java runtime
system
• Java programs translated into machine-independent bytecode
SECURITY
• In Java very difficult to write incorrect codes or virus that can
steal/corrupt data
• Two main lines of defense – Interpreter, and Browser level (applets)
Interpreter :
No pointer arithmetic
Garbage collection
Array bounds checking
No illegal data conversion
Browser (applies to applets only) :
No local file I/O
Sockets back to host only
No calls to native methods