Sem 5: Advance JAVA Review of Java Concepts
Java Features
1. Compiled and Interpreted
First, Java compiler translates source code into bytecode instructions.
(Bytecode instructions are not machine instructions) .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.
2. Platform-Independent and Portable
Java Programs are portable. Java programs can be easily moved from one
computer system to another, anywhere and anytime. Different Systems with
different hardware configurations and Different Operating Systems are connected
over the internet. A Java applet can be downloaded and run on any system. Java
ensures portability in two ways. First, Java compiler generates byte code
instructions that can be implemented on any machine. Secondly, the size of the
primitive data types is machine independent.
3. Object-Oriented
Java is a true object-oriented language. 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; we can use them in our programs
by inheritance. The object model in Java is simple and easy to extend.
4. Robust and Secure
Java is a robust language. It provides many safeguards to ensure reliable
code. It strictly checks data types during compile time and run time. It is designed
to tackle all memory management problems. Java also incorporates the concept
Digital Learning – DCE Kuvempu University
1
Sem 5: Advance JAVA Review of Java Concepts
of exception handling which captures series errors and eliminates any risk of
crashing the system. 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
to memory locations without proper authorization.
5. Distributed
Java is 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.
6. Simple, Small and Familiar
Java does not use redundant and unreliable features of C and C++ such as
pointers, preprocessor header files, goto statement, operator overloading and
multiple inheritance. Java is Familiar since it is modeled on C and C++ languages.
Java uses many constructs of C and C++ and therefore. Java code "looks like a C++"
code.
7. Multithreaded and Interactive
Multithreaded means handling multiple tasks simultaneously. Java
supports multithreaded programs, we need not wait for the application to finish
one task before beginning another. This feature greatly improves the interactive
performance of graphical applications. The Java runtime comes with tools that
support multiprocess synchronization and construct smoothly running interactive
systems.
Digital Learning – DCE Kuvempu University
2
Sem 5: Advance JAVA Review of Java Concepts
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.
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.
Digital Learning – DCE Kuvempu University
3