Java Project
Java Project
Fundamentals of JAVA, Arrays: one dimensional Herbert Schildt, "The Complete Reference
Java", 9th Ed, TMH,ISBN: 978-0-07-180856-
array, multi-dimensional array, alternative array 9.
declaration statements ,String Handling: String class
methods Programming With Java, 3rd Edition, E.
Balaguruswamy
Classes and Methods: class fundamentals, declaring
objects, assigning object reference variables, adding
methods to a class, returning a value, constructors,
this keyword, garbage collection, finalize() method,
overloading methods, argument passing, object as
parameter, returning objects, access control, static,
final, nested and inner classes, command line
arguments, variable -length arguments.
String Handling: String class methods Herbert Schildt, "The Complete Reference
Java", 9th Ed, TMH,ISBN: 978-0-07-180856-
Classes and Methods: class fundamentals, declaring 9.
objects, assigning object reference variables, adding
methods to a class, returning a value, constructors,
this keyword, garbage collection, finalize() method,
overloading methods, argument passing, object as
parameter, returning objects, access control, static,
final, nested and inner classes, command line
arguments, variable -length arguments.
String Handling: String class methods Herbert Schildt, "The Complete Reference
Java", 9th Ed, TMH,ISBN: 978-0-07-180856-
9.
Page No- 413-431
Java was developed by Sun Microsystems (which is now the subsidiary of Oracle) in
the year 1995. James Gosling is known as the father of Java. Before Java, its name was
Oak. Since Oak was already a registered company, so James Gosling and his team
changed the Oak name to Java.
5 6 7 8 0 2 4 6 1
199 199 199 199 200 200 200 200 201 2014
Java SE 6
Java SE 7
Java SE 8
J2SE 1.2
J2SE 1.3
J2SE 1.4
J2SE 5.0
JDK 1.0
JDK 1.1
Of Java SE 9
Java
Java Version History
Features of Java
Features of Java
Object-oriented
Java is an object-oriented
programming language. Everything in
Java is an object. Object-oriented
means we organize our software as a
combination of different types of
objects that incorporate both data and
behavior.
Object-oriented programming (OOPs)
is a methodology that simplifies
software development and
maintenance by providing some rules.
Basic concepts of OOPs are:
Object
Class
Inheritance
Polymorphism
Abstraction
Encapsulation
Features of Java
Simple
Java is very easy to learn, and its
syntax is simple, clean and easy to
understand. According to Sun
Microsystem, Java language is a
simple programming language
because:
Java syntax is based on C++ (so easier
for programmers to learn it after C++).
Java has removed many complicated
and rarely-used features, for example,
explicit pointers, operator overloading,
etc.
There is no need to remove
unreferenced objects because there is
an Automatic Garbage Collection in
Java.
Features of Java
Secured
Java is best known for its security. With
Java, we can develop virus-free systems.
Java is secured because:
No explicit pointer
Java Programs run inside a virtual
machine sandbox
Features of Java
• Classloader: Classloader in Java is a part of Secured
the Java Runtime Environment (JRE) which is Java is best known for its security. With
Java, we can develop virus-free systems.
used to load Java classes into the Java Virtual
Java is secured because:
Machine dynamically. It adds security by No explicit pointer
separating the package for the classes of the Java Programs run inside a virtual
local file system from those that are imported machine sandbox
from network sources.
• Bytecode Verifier: It checks the code
fragments for illegal code that can violate
access rights to objects.
• Security Manager: It determines what
resources a class can access such as reading
and writing to the local disk.
Java language provides these securities by
default. Some security can also be provided by
an application developer explicitly through SSL,
JAAS, Cryptography, etc.
Features of Java
Platform Independent
Java is platform independent because it
is different from other languages
like C, C++, etc. which are compiled
into platform specific machines while
Java is a write once, run anywhere
language.
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 a software-based
platform.
Java is Platform Independent
Features of Java
Platform Independent
The Java platform differs from most
other platforms in the sense that it is a
software-based platform that runs on
top of other hardware-based platforms.
It has two components:
1. Runtime Environment
2. API(Application Programming
Interface)
Architecture-neutral
Java is architecture neutral because there
are no implementation dependent
features, for example, the 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. However, it occupies 4 bytes
of memory for both 32 and 64-bit
architectures in Java.
Features of Java
Dynamic
Java is a dynamic language. It supports
the dynamic loading of classes. It means
classes are loaded on demand. It also
supports functions from its native
languages, i.e., C and C++.
High-performance
Java is faster than other traditional
interpreted programming languages
because Java bytecode is "close" to
native code. It is still a little bit slower than
a compiled language (e.g., C++). Java is
an interpreted language that is why it is
slower than compiled languages, e.g., C,
C++, etc.
Features of Java
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.
Distributed
Java is distributed because it facilitates
users to create distributed applications in
Java. RMI and EJB are used for creating
distributed applications. This feature of
Java makes us able to access files by
calling the methods from any machine on
the internet.
Java is Simple
● It is free from pointer due to this execution time of application is improved.
[Whenever we write a Java program without pointers then internally it is
converted into the equivalent pointer program].
● It has Rich set of API (application protocol interface).
● It has Automatic Garbage Collector which is always used to collect un-
Referenced (unused) Memory location for improving performance of a Java
program.
● It contains user friendly syntax for developing any applications.
Java Life Cycle
Java Programs Normally Undergo Four Phases
Edit
Compile
Load
Programmer
Writes Compiler creates Execute
program Byte-codes from
program Class loader stores
Byte-codes in memory
Translate byte codes
Into machine language
Is Java Purely
Object Oriented?
No Then Why?
Difference between JDK, JRE and JVM
JDK JRE JVM
Java Development Kit Java Runtime Environment Java Virtual Machine
JVM is an abstract
JDK is an acronym JRE is used to machine. It is a
for Java Development provide runtime specification that
Kit. It physically environment. It is provides runtime
exists. It contains JRE the implementation environment in which
+ development tools. of JVM. It physically java bytecode can be
exists. executed.
JDK is a software development kit whereas JRE is a software bundle that allows Java program
to run, whereas JVM is an environment for executing bytecode.
Java Editions