What is the Java Programming
Java is a recently
developed, concurrent, class-based, object-oriented programming and runtime
environment, This is a small description for what is java programming .
consisting of:
·
A programming language
·
An API specification
·
A virtual machine
specification
Java has the following
characteristics:
·
Object
oriented - Java provides the
basic object technology of C++ with some enhancements and some deletions about java programming.
·
Architecture
neutral - Java source code is
compiled into architecture-independent object code. The object code is
interpreted by a Java Virtual Machine (JVM) on the target architecture.
·
Portable - Java implements additional portability
standards. For example, ints are always 32-bit, 2's-complemented
integers. User interfaces are built through an abstract window system that is
readily implemented in Solaris and other operating environments.
·
Distributed - Java contains extensive TCP/IP networking
facilities. Library routines support protocols such as HyperText Transfer
Protocol (HTTP) and file transfer protocol (FTP).
·
Robust – How to Robust are used Both the Java
compiler and the Java interpreter provide extensive error checking. Java
manages all dynamic memory, checks array bounds, and other exceptions.
·
Secure - Features of C and C++ that often result in
illegal memory accesses are not in the Java language. The interpreter also
applies several tests to the compiled code to check for illegal code. After
these tests, the compiled code causes no operand stack over- or underflows,
performs no illegal data conversions, performs only legal object field
accesses, and all opcode parameter types are verified as legal.
·
High
performance - Compilation of
programs to an architecture independent machine-like language, results in a
small efficient interpreter of Java programs. The Java environment also
compiles the Java bytecode into native machine code at runtime.
·
Multithreaded - Multithreading is built into the Java
language. It can improve interactive performance by allowing operations, such
as loading an image, to be performed while continuing to process user actions.
·
Dynamic - Java does not link invoked modules until
runtime.
·
Simple - Java is similar to C++, but with most of the
more complex features of C and C++ removed.
Java does not provide:
o
Programmer-controlled
dynamic memory
o
Pointer arithmetic
o
struct
o
typedefs
o
#define
JRE Components
The JRE is the
software environment in which programs compiled for a typical JVM
implementation can run. The runtime system includes:
·
Code necessary to run
Java programs, dynamically link native methods, manage memory, and handle
exceptions
·
Implementation of the
JVM
The following figure
shows the JRE and its components, including a typical JVM implementation's
various modules and its functional position with respect to the JRE and class
libraries.