*) Features of java
*) Simple
*) Object-Oriented
*) Distributed
*) Interpreted
*) Robust
*) Secure
*) portable
*) multithreaded
*) Dynamic
*)
Java is Simple
*) fixes some clumsy features of c++
*) no pointers
*) automatic garbage collection
*) rich pre-defined class library
*) Learning and practicing java is
easy because of resemblance with c and
C++.
*)
Java is Object-Oriented
*) All functions are
associated with objects
*) Focus on the data(objects) and method manipulating the data
*) Almost all data types are objects (file,strings,etc.)
*) potentially better code organization and reuse
*)it supports concept of Inheritance ,polymorphism
, encapstulation,data hiding etc.
*) Unlike
C++, Java is purely OOP.
*) java is Distributed
*) java is supports network programming like
client server paradigram like client-server paradigram and implementation of
simple client server application
*) java is also support web service protocol
*) Java is
designed for use on network; it has an extensive library which works
inagreement with TCP/IP.
*) Java is interpreted
*) java
compiler generate byte-codes,not native
machine code
*) the compiled byte-code are plateform
independent
*) java bytecode are translated on the fly to
machine readable instruction in
runtime(java virtual machine)
*) java programs are compiled to generate the
byte code. This byte code can be
downloaded and interpreted by the interpreter. Class file will have byte code
instruction and JVM which contains an interpreter will execute the byte code.
*) Java is Robust(Strong/powerful)
*) Extensive compile-time and runtime error
checking
*) No pointers but
real arrays.
*) memory corruption
or unauthorized memory accesses are impossible
*) Automatic garbage
collection tracks objects usage over time
*) Java
programs will not crash because of its
exception handling
and its memory management
features.
*) java
is Secure
*) Usage in networked environments require more security
*) memory allocation model is a major defence
*) access restriction are
forced(private,public)
*) Java is designed for use on Internet. Java enables the
construction of virus-free,
tamper free systems.
*) Java
is portable
*) same application runs on all platfor m
*) The size of primitive data types are always the same.
*) the libraries define portable interfaces
*) Java does not have implementation dependent aspects and it
yields or gives same
result on any machine.
*) Java
is multithereaded
*) Multiple concurrent thread of executation can run
simultaneously
*) Executing different parts of program simultaneously is called
multithreading.
This is an
essential feature to design server side programs.
*) Java
is Dynamic
*) java is design to adapt to evolving environment
*) library can freely add new methods and instance variables
without any effect on their
clients
*) can check the class type in runtime
*) We can develop programs in Java which dynamically change on
Internet (e.g.:
Applets).