0% found this document useful (0 votes)
35 views

2-Introduction To Java Basics, Types of Java Application and Features-14-Jul-2020Material - I - 14-Jul-2020 - Lecture1-Features - of - Java

Java is a programming language and platform created by James Gosling at Sun Microsystems in 1991. It is a simple, object-oriented, robust, secure, high-performance language that is platform independent and allows applications to run on any system with a Java Virtual Machine. There are four main editions of Java - Java SE for application development, Java EE for enterprise applications, Java ME for mobile applications, and JavaFX for rich internet applications. Some key features of Java include object-oriented programming, automatic memory management, platform independence, security, and support for multithreading.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

2-Introduction To Java Basics, Types of Java Application and Features-14-Jul-2020Material - I - 14-Jul-2020 - Lecture1-Features - of - Java

Java is a programming language and platform created by James Gosling at Sun Microsystems in 1991. It is a simple, object-oriented, robust, secure, high-performance language that is platform independent and allows applications to run on any system with a Java Virtual Machine. There are four main editions of Java - Java SE for application development, Java EE for enterprise applications, Java ME for mobile applications, and JavaFX for rich internet applications. Some key features of Java include object-oriented programming, automatic memory management, platform independence, security, and support for multithreading.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

INTRODUCTION ON JAVA

HISTORY OF JAVA

James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java
language project in June 1991. The small team of sun engineers called
Green Team.

Java is an island of Indonesia where the first coffee was produced (called
java coffee). Java name was chosen by James Gosling while having coffee
near his office.

What is Java?

Java is a programming language and a platform.Java is a high level,


robust, object-oriented and secure programming language.

Platform: Any hardware or software environment in which a program runs,


is known as a platform. Since Java has a runtime environment (JRE) and
API, it is called a platform.

Application

According to Sun, 3 billion devices run Java. There are many devices where
Java is currently used. Some of them are as follows:

1. Desktop Applications such as acrobat reader, media player, antivirus,


etc.
2. Web Applications such as irctc.co.in, javatpoint.com, etc.
3. Enterprise Applications such as banking applications.
4. Mobile
5. Embedded System
6. Smart Card
7. Robotics
8. Games, etc.
Types of Java Applications

There are mainly 4 types of applications that can be created using Java
programming:

1) Standalone Application

Standalone applications are also known as desktop applications or window-


based applications. These are traditional software that we need to install on
every machine. Examples of standalone application are Media player,
antivirus, etc. AWT and Swing are used in Java for creating standalone
applications.

2) Web Application

An application that runs on the server side and creates a dynamic page is
called a web application. Currently, Servlet, JSP, Struts, Spring, Hibernate,
JSF, etc. technologies are used for creating web applications in Java.

3) Enterprise Application

An application that is distributed in nature, such as banking applications,


etc. is called enterprise application. It has advantages of the high-level
security, load balancing, and clustering. In Java, EJB is used for creating
enterprise applications.

4) Mobile Application

An application which is created for mobile devices is called a mobile


application. Currently, Android and Java ME are used for creating mobile
applications.
Java Platforms / Editions

There are 4 platforms or editions of Java:

1) Java SE (Java Standard Edition)

It is a Java programming platform. It includes Java programming APIs such


as java.lang, java.io, java.net, java.util, java.sql, java.math etc. It includes
core topics like OOPs, String, Regex, Exception, Inner classes,
Multithreading, I/O Stream, Networking, AWT, Swing, Reflection, Collection,
etc.

2) Java EE (Java Enterprise Edition)

It is an enterprise platform which is mainly used to develop web and


enterprise applications. It is built on the top of the Java SE platform. It
includes topics like Servlet, JSP, Web Services, EJB, JPA, etc.

3) Java ME (Java Micro Edition)

It is a micro platform which is mainly used to develop mobile applications.

4) JavaFX

It is used to develop rich internet applications. It uses a light-weight user


interface API.
Java Version History

Many java versions have been released till now. The current stable release of
Java is Java SE 10.

Version Name    
  Code Name Release Date
     
JDK 1.0 Oak January 1996
 
     
JDK 1.1 (none) February 1997
 
     
J2SE 1.2 Playground December 1998
 
     
J2SE 1.3 Kestrel May 2000
 
     
J2SE 1.4 Merlin February 2002
 
     
J2SE 5.0 Tiger September 2004
 
     
JDK 6 Mustang December 2006
 
     
JDK 7 Dolphin July 2011
 
     
JDK 8 March 2014
 
     
JDK 9 September, 21st 2017
 
     
JDK 10 March, 20th 2018
 
     
JDK 11 September, 25th 2018
 
     
JDK 12 March, 19th 2019
 
     
JDK 13 September, 10th 2019 
Java SE 14 14    
  March, 17th 2020
  15  
Java SE 15 Expected in September
  2020

Features of Java
The primary objective of Java programming language creation was to make
it portable, simple and secure programming language. Apart from this, there
are also some excellent features which play an important role in the
popularity of this language. The features of Java are also known as java
buzzwords.

A list of most important features of Java language is given below.

1. Simple
2. Object-Oriented
3. Portable
4. Platform independent
5. Secured
6. Robust
7. Architecture neutral
8. Interpreted
9. High Performance
10. Multithreaded
11. Distributed
12. Dynamic

Simple

Java is very easy to learn, and its syntax is simple, clean and easy to
understand. According to Sun, 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.
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 incorporates 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:

1. Object
2. Class
3. Inheritance
4. Polymorphism
5. Abstraction
6. Encapsulation

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.

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, for example, 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 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

 Classloader: Classloader in Java is a part of the Java Runtime


Environment(JRE) which is used to load Java classes into the Java
Virtual Machine dynamically. It adds security by separating the
package for the classes of the local file system from those that are
imported from network sources.
 Bytecode Verifier: It checks the code fragments for illegal code that
can violate access right 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.

Robust

Robust simply means strong. Java is robust because:

 It uses strong memory management.


 There is a lack of pointers that avoids security problems.
 There is automatic garbage collection in java which runs on the Java
Virtual Machine to get rid of objects which are not being used by a
Java application anymore.
 There are exception handling and the type checking mechanism in
Java. All these points make Java robust.

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.

Portable

Java is portable because it facilitates you to carry the Java bytecode to any
platform. It doesn't require any implementation.

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.
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.

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.

Dynamic

Java is a dynamic language. It supports dynamic loading of classes. It


means classes are loaded on demand. It also supports functions from its
native languages, i.e., C and C++.

Java supports dynamic compilation and automatic memory management


(garbage collection).
C++ vs Java
There are many differences and similarities between the C++ programming
language and Java. A list of top differences between C++ and Java are given
below:

Comparison
C++ Java
Index
Platform- C++ is platform-
Java is platform-independent.
independent dependent.
Java is mainly used for
application programming. It is
C++ is mainly used for
Mainly used for widely used in window, web-
system programming.
based, enterprise and mobile
applications.
Java was designed and created
C++ was designed for
as an interpreter for printing
systems and
systems but later extended as a
applications
Design Goal support network computing. It
programming. It was an
was designed with a goal of being
extension of C
easy to use and accessible to a
programming language.
broader audience.
C++ supports the goto Java doesn't support the goto
Goto
statement. statement.
Java doesn't support multiple
Multiple C++ supports multiple
inheritance through class. It can
inheritance inheritance.
be achieved by interfaces in java.
Operator C++ supports operator Java doesn't support operator
Overloading overloading. overloading.
Java supports pointer internally.
C++ supports pointers. However, you can't write the
Pointers You can write pointer pointer program in java. It
program in C++. means java has restricted
pointer support in java.
Compiler and C++ uses compiler only. Java uses compiler and
interpreter both. Java source
C++ is compiled and run code is converted into bytecode
using the compiler at compilation time. The
which converts source interpreter executes this
Interpreter
code into machine code bytecode at runtime and
so, C++ is platform produces output. Java is
dependent. interpreted that is why it is
platform independent.
Call by Value C++ supports both call Java supports call by value only.
and Call by by value and call by There is no call by reference in
reference reference. java.
Structure and C++ supports structures Java doesn't support structures
Union and unions. and unions.
C++ doesn't have built-
in support for threads. It
Thread Support relies on third-party Java has built-in thread support.
libraries for thread
support.
Java supports documentation
C++ doesn't support
Documentation comment (/** ... */) to create
documentation
comment documentation for java source
comment.
code.
Java has no virtual keyword. We
C++ supports virtual
can override all non-static
keyword so that we can
Virtual Keyword methods by default. In other
decide whether or not
words, non-static methods are
override a function.
virtual by default.
Java supports unsigned right
shift >>> operator that fills zero
unsigned right C++ doesn't support >>>
at the top for the negative
shift >>> operator.
numbers. For positive numbers,
it works same like >> operator.
Java uses a single inheritance
tree always because all classes
C++ creates a new
Inheritance Tree are the child of Object class in
inheritance tree always.
java. The object class is the root
of the inheritance tree in java.
C++ is nearer to Java is not so interactive with
Hardware
hardware. hardware.
Java is also an object-oriented
C++ is an object-oriented
language. However, everything
language. However, in C
(except fundamental types) is an
Object-oriented language, single root
object in Java. It is a single root
hierarchy is not
hierarchy as everything gets
possible.
derived from java.lang.Object.

You might also like