• History of JAVA
• Advantages of JAVA
• JAVA Vs C++
• JAVA Development Kit(JDK)
• JAVA Runtime Environment
History Of JAVA-1
• Java is a high level object-oriented programming
language developed by James Gosling at Sun
Microsystems in the early 1990s.
• James Gosling was unhappy using c++ programming
language so he developed Java.
• Originally designed in (1991) as a small language for
consumer electronics (cable boxes, toasters etc.)
• A team of Sun Microsystems in the guidance of
James Gosling decided to develop an advanced
programming language for the betterment of
consumer electronic devices.
History Of JAVA-2
• They developed a platform independent
software based on the power of networks
that can run on different application areas,
such as computers and electronic devices.
• It was initially called 'Oak‘.
• It was renamed as 'JAVA' released in 1995
as a core component of Sun Microsystems
JDK 1.0 23-Jan-1996
JDK 1.1 19-feb-1997
J2SE 1.2 8-Dec-1998
J2SE 1.3 8-May-2000
J2SE 1.4 06-Feb-2002
J2SE 5.0 30-Sep-2004
Java SE 6 11-Dec-2006
Java SE 7 28-July-2011
Other Version of JAVA along with their release dates -
Simple & Familiar
• Java was designed to be simple
and familiar to learn language.
• Fundamental concepts can be
grasped quickly as the features
borrowed from C & C++.
• Features were removed that led
to poor programming practices
or were rarely used.
• It does not use pointers, goto
statement, Preprocessor header
• All coding and data reside within object and
• Java has built-In exception handling.
• Everything in Java (except the primitive
data types) is an object.
• The object model in java is simple and easy
to extend so that complex programming
problems can be reduced to simple solutions.
• Extensive set of classes, arranged in packages
e.g. java.awt, java.io, java.net .
Compiled & Interpreted
• Java is both a compiled
and Interpreted language.
• Java Compiler generates
byte codes that are
interpreted into machine
readable instructions by a
Java Virtual Machine
(Java Interpreter) at
Platform-Independent & Portable
• Java programs are designed to work
in a networked environment on a
variety of computers and operating
• The size of the primitive data types
are machine independent.
• Compiler generates platform-
independent byte codes rather than
native machine code, so it can be
implemented on any machine.
• Java has hard-and-fast rules for
compile-time and runtime error
• Java supports automatic garbage
collection so all memory
corruptions or unauthorized
memory accesses are impossible.
• Many error-prone features of
C/C++ programming were
• Usage in networked environment
requires more security.
• JVM verifies all byte codes before
execution & ensures all programs
follow the rules regarding object access
• Java ensures that program cannot
gain access to memory locations
without proper authorization.
• Java is network friendly.
• Java is designed as a distributed
language for creating
applications on networks.
• Multiple programmers can
work together on a single
project from multiple remote
• Both data and programs can
be shared on networks.
• This feature allows us to handle
multiple tasks simultaneously.
• Designed to run multiple
• Easy to implement.
• Other systems have provided
facilities via light weight
libraries, but Java has in-built
• Great for multimedia displays.
Dynamic & Extensible
• Provides a highly dynamic
• Allows dynamically linking in new
class libraries, methods and
• New code can be linked on
demand from anywhere on the
network and new types can be
created as needed dynamically.
• Class definitions take the similar form in java as in C++, but there
is no closing semicolon.
• Operator overloading is not possible in java.
• Java has no templates as in C++.
• Java doesn’t provide direct support for multiple inheritance of
classes. We can accomplish multiple inheritance using a new
feature called ‘interface’.
• Java does not support global variables. Every variables and
method is declared within class and forms part of that class.
• Java doesn’t use pointers.
• The destructor function is replaced with a finalize() function.
• There are no header files in java.
• Java supports multithreading.
JAVA Vs C++
JDK is a free software development package from Sun Microsystems. Java
Development Kit (JDK) contains tools needed to develop the Java
programs, and JRE to run the programs. The Basic tools are-
• appletviewer – Run and debug applets without a web browser.
• Java – The java interpreter runs the Java applets & applications by
reading and interpreting byte code files. The same launcher is
used for deployment and development purpose.
• Javac – This is the core of java, which translates the java source code to
bytecode files that the interpreter can understand.
• javadoc – It is used to generate API documentation.
• javah – Produces header files for use with native methods.
• javap – Java disassembler, which enables us to convert bytecode files
into a program description.
• jdb – Java Debugger, which helps us to find errors in our programs.
JAVA Development Kit
• Java Runtime Environment contains JVM, class libraries, and other
supporting files. It does not contain any development tools such as compiler,
debugger, etc. Actually JVM runs the program, and it uses the class libraries,
and other supporting files provided in JRE. If you want to run any java
program, you need to have JRE installed in the system. It primarily contains-
• Java Virtual Machine – interprets the intermediate java byte code and
generates the desired output.
• Runtime class libraries – contains set of class libraries.
• User Interface Toolkits – AWT and Swing are examples of toolkits that
support various input methods for the users to interact with the application
• Deployment Technologies –
– Java plug-in: for execution of a Java applet on the browser.
– Java web Start: for remote deployment of an application.
JAVA Runtime Environment
• talk at me at
• Share this information with as
many people as possible.
• Keep visiting