You are on page 1of 6


Java is a general-purpose computer programming language that is concurrent, class-based,

object-oriented, and specifically designed to have as few implementation dependencies as
possible. It is intended to let application developers "write once, run anywhere" (WORA),
meaning that compiled Java code can run on all platforms that support Java without the need
for recompilation. Java applications are typically compiled to bytecode that can run on any
Java virtual machine (JVM) regardless of computer architecture. As of 2015, Java is one of
the most popular programming languages in use, particularly for client-server web
applications, with a reported 9 million developers. Java was originally developed by James
Gosling at Sun Microsystems (which has since been acquired by Oracle Corporation) and
released in 1995 as a core component of Sun Microsystems' Java platform. The language
derives much of its syntax from C and C++, but it has fewer low-level facilities than either of
The original and reference implementation Java compilers, virtual machines, and class
libraries were originally released by Sun under proprietary licences. As of May 2007, in
compliance with the specifications of the Java Community Process, Sun relicensed most of its
Java technologies under the GNU General Public License. Others have also developed
alternative implementations of these Sun technologies, such as the GNU Compiler for Java
(bytecode compiler), GNU Classpath (standard libraries), and IcedTea-Web (browser plugin
for applets).
The latest version is Java 8, the only supported version, currently.
The Java programming Language evolved from a language named Oak. Oak was developed
in the early nineties at Sun Microsystems as a platform-independent language aimed at
allowing entertainment appliances such as video game consoles and VCRs to communicate .
Oak was first slated to appear in television set-top boxes designed to provide video-ondemand services. Just as the deals with the set-top box manufacturers were falling through,
the World Wide Web was coming to life. As Oaks developers began to re cognize this trend,
their focus shifted to the Internet and WebRunner, an Oak-enabled browser, was born. Oaks
name was changed to Java and WebRunner became the HotJava web browser. The excitement

of the Internet attracted software vendors such that Jav a development tools from many
vendors quickly became available. That same excitement has provided the impetus for a
multitude of software developers to discover Java and its many wonderful features.
Significant Language Features
Platform Independence - Java compilers do not produce native object code for a particular
platform but rather byte code instructions for the Java Virtual Machine (JVM). Making Java
code work on a particular platform is then sim ply a matter of writing a byte code interpreter
to simulate a JVM. What this all means is that the same compiled byte code will run
unmodified on any platform that supports Java.
Object Orientation - Java is a pure object-oriented language. This means that everything in a
Java program is an object and everything is descended from a root object class.
Rich Standard Library - One of Javas most attractive features is its standard library. The Java
environment includes hundreds of classes and methods in six major functional areas.
Language Support classes for advanced language features such as strings, arrays, threads, and
exception handling.
Utility classes like a random number generator, date and time functions, and container
Input/output classes to read and write data of many types to and from a variety of sources.
Networking classes to allow inter-computer communications over a local network or the
Abstract Window Toolkit for creating platform-independent GUI applications.
Applet is a class that lets you create Java programs that can be downloaded and run on a
client browser.
Applet Interface - In addition to being able to create stand-alone applications, Java developers
can create programs that can downloaded from a web page and run on a client browser.
Familiar C++-like Syntax - One of the factors enabling the rapid adoption of Java is the
similarity of the Java syntax to that of the popular C++ programming language.
Garbage Collection - Java does not require programmers to explicitly free dynamically
allocated memory. This makes Java programs easier to write and less prone to memory errors.
Areas of Application
World Wide Web Applets

Cross-Platform Application Development

Other Network Applications

Advantages of Java
Java has gained enormous popularity since it first appeared. Its rapid ascension and wide
acceptance can be traced to its design and programming features, particularly in its promise
that you can write a program once, and run it anywhere. Java was chosen as the programming
language for network computers (NC) and has been perceived as a universal front end for the
enterprise database. As stated in Java language white paper by Sun Microsystems: "Java is a
simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable,
multithreaded, and dynamic."
Java has significant advantages over other languages and environments that make it
suitable for just about any programming task.
The advantages of Java are as follows:
1.Java is easy to learn.
Java was designed to be easy to use and is therefore easy to write, compile, debug, and learn
than other programming languages.
2.Java is object-oriented.
This allows you to create modular programs and reusable code.
3.Java is platform-independent.
One of the most significant advantages of Java is its ability to move easily from one computer
system to another. The ability to run the same program on many different systems is crucial to
World Wide Web software, and Java succeeds at this by being platform-independent at both
the source and binary levels.
4.Java is distributed.

Java is designed to make distributed computing easy with the networking capability that is
inherently integrated into it. Writing network programs in Java is like sending and receiving
data to and from a file.
5.Java is secure.
Java considers security as part of its design. The Java language, compiler, interpreter, and
runtime environment were each developed with security in mind.
6.Java is robust.
Robust means reliability. Java puts a lot of emphasis on early checking for possible errors, as
Java compilers are able to detect many problems that would first show up during execution
time in other languages.
7.Java is multithreaded
Multithreaded is the capability for a program to perform several tasks simultaneously within
a program. In Java, multithreaded programming has been smoothly integrated into it, while in
other languages, operating system-specific procedures have to be called in order to enable
Because of Java's robustness, ease of use, cross-platform capabilities and security features, it
has become a language of choice for providing worldwide Internet solutions.

There were five primary goals in the creation of the Java language:[14]
It must be "simple, object-oriented, and familiar".
It must be "robust and secure".
It must be "architecture-neutral and portable".
It must execute with "high performance".
It must be "interpreted, threaded, and dynamic".

Currently only Java 8 is supported ("publicly"). Major release versions of Java, along with
their release dates:
JDK 1.0 (January 21, 1996)
JDK 1.1 (February 19, 1997)
J2SE 1.2 (December 8, 1998)
J2SE 1.3 (May 8, 2000)
J2SE 1.4 (February 6, 2002)
J2SE 5.0 (September 30, 2004)
Java SE 6 (December 11, 2006)
Java SE 7 (July 28, 2011)
Java SE 8 (March 18, 2014)

Java Platform
One design goal of Java is portability, which means that programs written for the Java
platform must run similarly on any combination of hardware and operating system with
adequate runtime support. This is achieved by compiling the Java language code to an
intermediate representation called Java bytecode, instead of directly to architecture-specific
machine code. Java bytecode instructions are analogous to machine code, but they are
intended to be executed by a virtual machine (VM) written specifically for the host hardware.
End users commonly use a Java Runtime Environment (JRE) installed on their own machine
for standalone Java applications, or in a web browser for Java applets.
Standard libraries provide a generic way to access host-specific features such as graphics,
threading, and networking.
The use of universal bytecode makes porting simple. However, the overhead of interpreting
bytecode into machine instructions makes interpreted programs almost always run more
slowly than native executables. However, just-in-time (JIT) compilers that compile bytecodes
to machine code during runtime were introduced from an early stage. Java itself is platform-

independent, and is adapted to the particular platform it is to run on by a Java virtual machine
for it, which translates the Java bytecode into the platform's machine language.
Oracle Corporation is the current owner of the official implementation of the Java SE
platform, following their acquisition of Sun Microsystems on January 27, 2010. This
implementation is based on the original implementation of Java by Sun. The Oracle
implementation is available for Microsoft Windows (still works for XP, while only later
versions currently "publicly" supported), Mac OS X, Linux and Solaris. Because Java lacks
any formal standardization recognized by Ecma International, ISO/IEC, ANSI, or other thirdparty standards organization, the Oracle implementation is the de facto standard.
The Oracle implementation is packaged into two different distributions: The Java Runtime
Environment (JRE) which contains the parts of the Java SE platform required to run Java
programs and is intended for end users, and the Java Development Kit (JDK), which is
intended for software developers and includes development tools such as the Java compiler,
Javadoc, Jar, and a debugger.