Java Programming Tutorial
is a widely used robust technology. Let's start learning Java from basic
questions like what is Java tutorial, Core Java, where it is used, what type of
applications are created in Java, why use java and Java platforms.
There is given many features of java.
They are also known as java buzzwords. The Java Features given below are simple
and easy to understand.
1.
Simple
2.
Object-Oriented
3.
Portable
4.
Platform independent
5.
Secured
6.
Robust
7.
Architecture neutral
8.
Dynamic
9.
Interpreted
10.
High Performance
11.
Multithreaded
12.
Distributed
Simple
According to Sun, Java language is simple because:
|
syntax is based on C++ (so
easier for programmers to learn it after C++).
|
removed many confusing
and/or rarely-used features e.g., explicit pointers, operator overloading
etc.
|
No need to remove
unreferenced objects because there is Automatic Garbage Collection in java.
|
Object-oriented
Object-oriented means we organize our software as a combination
of different types of objects that incorporates both data and behaviour.
|
Object-oriented programming(OOPs) is a methodology that simplify
software development and maintenance by providing some rules.
|
Basic concepts of OOPs are:
|
1.
Object
2.
Class
3.
Inheritance
4.
Polymorphism
5.
Abstraction
6.
Encapsulation
|
Platform Independent
A platform is the hardware or
software environment in which a program runs.
There are two types of platforms
software-based and hardware-based. Java provides software-based platform.
The Java platform differs
from most other platforms in the sense that it is a software-based platform
that runs on the top of other hardware-based platforms. It has two components:
1.
Runtime Environment
2.
API(Application Programming Interface)
Java code can be run on
multiple platforms e.g. Windows, Linux, Sun Solaris, Mac/OS etc. Java code is
compiled by the compiler and converted into bytecode. This bytecode is a
platform-independent code because it can be run on multiple platforms i.e.
Write Once and Run Anywhere(WORA).
Secured
Java is secured because:
- No explicit pointer
- Java Programs run inside virtual machine sandbox
- Classloader: adds security by separating the package for the classes of the local file system from those that are imported from network sources.
- Bytecode Verifier: checks the code fragments for illegal code that can violate access right to objects.
- Security Manager: determines what resources a class can access such as reading and writing to the local disk.
These
security are provided by java language. Some security can also be provided by
application developer through SSL, JAAS, Cryptography etc. Advanced Java Training in Bangalore
Robust
Robust simply means strong.
Java uses strong memory management. There are lack of pointers that avoids
security problem. There is automatic garbage collection in java. There is
exception handling and type checking mechanism in java. All these points makes
java robust.
Architecture-neutral
There is no implementation
dependent features e.g. size of primitive types is fixed.
In C programming, int data type
occupies 2 bytes of memory for 32-bit architecture and 4 bytes of memory for
64-bit architecture. But in java, it occupies 4 bytes of memory for both 32 and
64 bit architectures.
Portable
We may carry the java bytecode
to any platform.
High-performance
Java is faster than traditional interpretation since byte code
is "close" to native code still somewhat slower than a compiled
language (e.g., C++)
|
Distributed
We can create distributed applications in java. RMI and EJB are
used for creating distributed applications. We may access files by calling
the methods from any machine on the internet.
|
Multi-threaded
A thread is like a separate
program, executing concurrently. We can write Java programs that deal with many
tasks at once by defining multiple threads. The main advantage of
multi-threading is that it doesn't occupy memory for each thread. It shares a
common memory area. Threads are important for multi-media, Web applications
etc.
Difference between JDK, JRE and JVM
1.
Brief
summary of JVM
2.
Java
Runtime Environment (JRE)
3.
Java
Development Kit (JDK)
Understanding the difference
between JDK, JRE and JVM is important in Java. We are having brief overview of
JVM here.
If you want to get the detailed
knowledge of Java Virtual Machine, move to the next page. Firstly, let's see
the basic differences between the JDK, JRE and JVM.
JVM
JVM (Java Virtual Machine) is
an abstract machine. It is a specification that provides runtime environment in
which java bytecode can be executed.
JVMs are available for many
hardware and software platforms. JVM, JRE and JDK are platform dependent
because configuration of each OS differs. But, Java is platform independent.
The JVM performs following main
tasks:
- Loads code
- Verifies code
- Executes code
- Provides runtime environment
JRE
JRE is an acronym for Java
Runtime Environment.It is used to provide runtime environment.It is the
implementation of JVM. It physically exists. It contains set of libraries +
other files that JVM uses at runtime.
Implementation of JVMs are also
actively released by other companies besides Sun Micro Systems.
JVM (Java Virtual Machine)
JVM (Java Virtual Machine) is
an abstract machine. It is a specification that provides runtime environment in
which java bytecode can be executed.
JVMs are available for many
hardware and software platforms (i.e. JVM is platform dependent).
What is JVM
It is:
1.
A specification where
working of Java Virtual Machine is specified. But implementation provider is
independent to choose the algorithm. Its implementation has been provided by
Sun and other companies.
2.
An implementation Its
implementation is known as JRE (Java Runtime Environment).
3.
Runtime Instance Whenever
you write java command on the command prompt to run the java class, an instance
of JVM is created.
What it does
The JVM performs following
operation:
- Loads code
- Verifies code
- Executes code
- Provides runtime environment
JVM provides definitions for
the:
- Memory area
- Class file format
- Register set
- Garbage-collected heap
- Fatal error reporting etc.
No comments:
Post a Comment