Introduction of Java

1 Introduction to Java

Types of Java Applications

There are mainly 4 type of applications that can be created using java or a programming language:

1) Standalone Application

It is also known as desktop application or window-based application. An application that we need to install on every machine such as media player, antivirus, editors etc.

2) Web Application

An application that runs on the server side and creates dynamic page, is called web application. For example: websites (www.irctc.com)

3) Enterprise Application

An enterprise application is computer software used to satisfy the needs of an organization rather than individual users. . It is typically hosted on servers and provides simultaneous services to a large number of users, typically over a computer network.

An application that is distributed in nature, such as banking applications etc. It has the advantage of high level security, load balancing and clustering.

4) Mobile Application

An application that is created for mobile devices. For examples:-mobiles games, whatsapp, youtube app,  facebook app

 What is Java?

Java is a programming language and a platform.

The Java programming language is a high-level object-oriented language that has a particular syntax and style.

Platform: Any hardware or software which provide an environment for developing and running an application, known as a platform.

The Java Programming Language Platforms

There are two principal software products in the Java Platform

–        Java Runtime Environment (JRE)

•         The JRE provides the libraries(API), Java virtual machine, and other components necessary to run applications written in the Java programming language.

–        Java Development Kit (JDK)

•         The JDK includes the JRE + command-line development tools such as compilers and debuggers that are necessary or useful for developing applications.

 

There are main platforms of the Java programming language:

  • Java Platform, Standard Edition (Java SE)

  • Java Platform, Enterprise Edition (Java EE)

  • Java Platform, Micro Edition (Java ME)

All Java platforms consist of a Java Virtual Machine (VM) and an application programming interface (API).

The Java Virtual Machine is a program, for a particular hardware and software platform, that runs Java technology applications.

An API is a collection of software components that you can use to create other software components or applications. Each Java platform provides a virtual machine and an API, and this allows applications written for that platform to run on any compatible system with all the advantages of the Java programming language: platform-independence, power, stability, ease-of-development, and security.

Java SE

When most people think of the Java programming language, they think of the Java SE API. Java SE's API provides the core functionality of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access, graphical user interface (GUI) development, and XML parsing.

In addition to the core API, the Java SE platform consists of a virtual machine, development tools, deployment technologies, and other class libraries and toolkits commonly used in Java technology applications(windows applications and simple server applications).

Java EE

The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications(i.e complex server applications)..

Java ME

The Java ME platform provides an API and a small-footprint virtual machine for running Java programming language applications on small devices, like mobile phones. The API is a subset of the Java SE API, along with special class libraries useful for small device application development. Java ME applications are often clients of Java EE platform services.

Java Card

 A technology that allows small Java-based applications (applets) to be run securely on smart cards and similar small-memory devices.