0% found this document useful (0 votes)
241 views15 pages

Java - Features PDF

Uploaded by

Vinod Agarkar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
241 views15 pages

Java - Features PDF

Uploaded by

Vinod Agarkar
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 15

History and Evolution of Java

James Gosling, Patrick Naughton, Chris Warth, Mike


Sheridan, and Ed Frank initiated the Java language
project in June 1991

The idea was to develop a language which was platform-


independent and which could create embedded software
for consumer electronic devices.

It took 18 months to develop and had an initial name


as Oak which was renamed to Java in 1995, due to
copyright issues.
Features of Java
1) Compiled and Interpreter
2) Platform Independent and Portable
3) Object Oriented
4) Robust and Secure
5) Distributed
6) Familiar, Simple and Small
7) Multithreaded and Interactive
8) High Performance
9) Dynamic and Extensible
10) Architectural Neutral
Features of Java

1) Compiled and Interpreter


Computer language is either compiled or interpreted.
Java combines both these approaches thus making
Java a two stage system.
First, Java compiler translates source code into
bytecode instructions.
Bytecode are not machine instructions, and
Therefore, in the second stage, Java interpreter
generates machine code that can be directly executed
by the machine that is running the Java program.
Thus, Java is both a compiled and an interpreted
language.
Features of Java

2) Platform-Independent and Portable


Java programs can be easily moved from one computer
system to another anywhere and anytime.
Changes and upgrades in operating systems, processors
and system resources will not force any changes in Java
programs.
We can download a Java applet from a remote computer
onto our Local system via Internet and execute it
locally.
Java ensures portability in two ways. First, Java
compiler generates bytecode instructions that can be
implemented on any machine. Secondly, the sizes of the
primitive data types are machine-independent.
Features of Java

3) Object Oriented

Java is a true object-oriented language.


Almost everything in Java is an object.
All program code and data reside within objects
and classes.
Java comes with an extensive set of classes,
arranged in packages, which we can use in our
programs by inheritance.
Features of Java

4) Robust and Secure


Robust :-
Java is a robust language.
Provides many safeguards to ensure reliable code.
It has strict compile time and run time checking
for data types.
It is designed as a garbage-collected Language
relieving the programmers virtually all memory
management problems.
Java also incorporates the concept of exception
handling.
Contd . . .
Features of Java

4) Robust and Secure


Secure :-
Security becomes an important issue for a
language that made for programming on Internet.
Viruses and abuse of resources are everywhere.
Java systems not only verify all memory access but
also ensure that no viruses are communicated with
an applet.
The absence of pointers in Java ensures that
programs cannot gain access so memory locations
without proper authorization.
Features of Java

5) Distributed

Java it designed as a distributed language for


creating applications on networks.
It has the ability to share both data and programs.
Java applications can open and access remote
objects on Internet as easily as they can do in a
local system.
This enables multiple programmers at multiple
remote locations to collaborate and work together
on a single project.
Features of Java

6) Familiar, Simple and Small


Java is a small and simple Language.
Many features of C and C++ that are either
redundant or sources of unreliable code are not
part of Java.
For example, Java does not use pointers,
preprocessor header files, goto statement and
many others.
It also eliminates operator overloading and
multiple inheritance.

Contd . . .
Features of Java

6) Familiar, Simple and Small

Familiarity is another striking feature of Java.


To make the language look familiar to the existing
programmers, it was modeled on C and C++
languages.
Java uses many constructs of C and C++ and
therefore, Java code “looks like a C++” code.
In fact, Java is a simplified version of C++.
Features of Java

7) Multithreaded and Interactive


Multithreaded means handling multiple tasks
simultaneously.
Java supports multithreaded programs.
This means that we need not wait for the
application to finish one task before beginning
another,
For example, we can listen to an audio clip while
scrolling a page and at the same time download an
applet from a distant computer.
Features of Java

8) High Performance
Java performance is impressive for an interpreted
language, mainly due to the use of intermediate
bytecode.
According to Sun, Java speed is comparable to the
native C/C++.
Java architecture is also designed to reduce
overheads during runtime.
Further, the incorporation of multireading
enhances the overall execution speed of Java
programs.
Features of Java

9) Dynamic and Extensible


Java is a dynamic language.
Java is capable of dynamically linking in new class
libraries, methods, and objects.
Java can also determine the type of class through a
query, making it possible to either dynamically
link or abort the program, depending on the
response.

Contd . . .
Features of Java

9) Dynamic and Extensible


Java programs support functions written in other
languages such as C and C++.
These functions are known us native methods.
This facility enables the programmers to use the
efficient functions available in these languages.
Native methods are linked dynamically at runtime.
Features of Java

10) Architectural Neutral


Architecture represents processor.
Java programs are compiled into bytecode format
which does not depend on any machine
architecture but can be easily translated into a
specific machine by a Java Virtual Machine (JVM)
for that machine.

You might also like