Project Report Java
Project Report Java
Java is one of the world's most important and widely used computer languages, and it has
held this distinction for many years. Unlike some other computer languages whose influence
has weared with passage of time, while Java's has grown.
As of 2015, Java is one of the most popular programming languages in use, particularly for
client-server web applications, with a reported 9 million developers using and working on it.
Java is a platform-independent programming language used to create secure and robust
application that may run on a single computer or may be distributed among servers and
clients over a network.
Java was developed by James Ghosling, Patrick Naughton, Mike Sheridan at Sun
Microsystems Inc. in 1991. It took 18 months to develop the first working version.
The initial name was Oak but it was renamed to Java in 1995 as OAK was a registered
trademark of another Tech company.
The original and reference implementation Java compilers, virtual machines, and class
libraries were originally released by Sun under proprietary licenses. As of May 2007, in
compliance with the specifications of the Java Community Process, Sun relicensed most of
its Java technologies under the GNU General Public License. Others have also developed
alternative implementations of these Sun technologies.
Evolution of Java
Java was initially launched as Java 1.0 but soon after its initial release, Java 1.1 was
launched. Java 1.1 redefined event handling, new library elements were added.
No major changes were made into Java 1.3 but the next release that was Java
1.4 contained several important changes. Keyword assert, chained exceptions and
channel based I/O System was introduced.
Java 1.5 was called J2SE 5, it added following major new features :
Generics
Annotations
Autoboxing and autounboxing
Enumerations
For-each Loop
Varargs
Static Import
Formatted I/O
Concurrency utilities
Next major release was Java SE 7 which included many new changes, like :
And the latest addition to the lot is, Java SE 8, it was released on March 18, 2014. Some of
the major new features introduced in JAVA 8 are,
Lambda Expressions
New Collection Package java.util.stream to provide Stream API.
Enhanced Security
Nashorn Javascript Engine included
Parallel Array Sorting
The JDBC-ODBC Bridge has been removed etc.
Application of Java
Java is widely used in every corner of world and of human life. Java is not only used in
softwares but is also widely used in designing hardware controlling software components.
There are more than 930 million JRE downloads each year and 3 billion mobile phones run
java.
Following are some other usage of Java :
1) Simple
Java is a simple language because of its various features, Java Doesn?t Support Pointers
, Operator Overloading etc. It doesn?t require unreferenced object because java support
automatic garbage collection.
Java provides bug free system due to the strong memory management.
2) Object-Oriented
1)Encapsulation
2)Polymorphism
3)Inheritance
4)Abstraction
As the languages like Objective C, C++ fulfills the above four characteristics yet they
are not fully object oriented languages because they are structured as well as object oriented
languages.
In java everything is an Object. Java can be easily extended since it is based on the
Object model
3) Secure
Java is Secure Language because of its many features it enables to develop virus-free,
tamper-free systems. Authentication techniques are based on public-key encryption. Java
does not support pointer explicitly for the memory.
All Program Run under the sandbox.
4) Robust
Java was created as a strongly typed language. Data type issues and problems are
resolved at compile-time, and implicit casts of a variable from one type to another are not
allowed.
Memory management has been simplified java in two ways. First Java does not support
direct pointer manipulation or arithmetic. This make it possible for a java program to
overwrite memory or corrupt data.
Second , Java uses runtime garbage collection instead of instead of freeing of memory.
In languages like c++, it Is necessary to delete or free memory once the program has finished
with it.
5) Platform-independent.
6) Architecture neutral
It is not easy to write an application that can be used on Windows , UNIX and a
Macintosh. And its getting more complicated with the move of windows to non Intel CPU
architectures.
Java takes a different approach. Because the Java compiler creates byte code instructions
that are subsequently interpreted by the java interpreter, architecture neutrality is achieved in
the implementation of the java interpreter for each new architecture.
7) Portable
Java code is portable. It was an important design goal of Java that it be portable so that
as new architectures(due to hardware, operating system, or both) are developed, the java
environment could be ported to them.
In java, all primitive types(integers, longs, floats, doubles, and so on) are of defined
sizes, regardless of the machine or operating system on which the program is run. This is in
direct contrast to languages like C and C++ that leave the sized of primitive types up to the
compiler and developer.
8) Dynamic
At runtime, the java interpreter performs name resolution while linking in the necessary
classes. The Java interpreter is also responsible for determining the placement of object in
memory. These two features of the Java interpreter solve the problem of changing the
definition of a class used by other classes.
9) Interpreted
We all know that Java is an interpreted language as well. With an interpreted language
such as Java, programs run directly from the source code.
The interpreter program reads the source code and translates it on the fly into
computations. Thus, Java as an interpreted language depends on an interpreter program.
The versatility of being platform independent makes Java to outshine from other
languages. The source code to be written and distributed is platform independent.
Another advantage of Java as an interpreted language is its error debugging quality. Due
to this any error occurring in the program gets traced. This is how it is different to work with
Java.
For all but the simplest or most infrequently used applications, performance is always a
consideration for most applications, including graphics-intensive ones such as are commonly
found on the world wide web, the performance of java is more than adequate.
11) Multithreaded
Writing a computer program that only does a single thing at a time is an artificial
constraint that we?ve lived with in most programming languages. With java, we no longer
have to live with this limitation. Support for multiple, synchronized threads is built directly
into the Java language and runtime environment.
12) Distributed.
Java facilitates the building of distributed application by a collection of classes for use in
networked applications. By using java?s URL (Uniform Resource Locator) class, an
application can easily access a remote server. Classes also are provided for establishing
socket-level connections.