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

What is Java

Java is a high-level, object-oriented programming language developed by Sun Microsystems in 1995, known for its platform independence and security features. It supports various application types, including standalone, web, enterprise, and mobile applications, and has multiple editions such as Java SE, EE, ME, and JavaFX. The Java Development Kit (JDK) provides the necessary tools for developing Java applications, while the Java Runtime Environment (JRE) allows for the execution of Java programs.

Uploaded by

fahathaat
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

What is Java

Java is a high-level, object-oriented programming language developed by Sun Microsystems in 1995, known for its platform independence and security features. It supports various application types, including standalone, web, enterprise, and mobile applications, and has multiple editions such as Java SE, EE, ME, and JavaFX. The Java Development Kit (JDK) provides the necessary tools for developing Java applications, while the Java Runtime Environment (JRE) allows for the execution of Java programs.

Uploaded by

fahathaat
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Page | 1

JAVA Programming Language


What is Java?
Java is a programming language and a platform. Java is a high level,
robust, object-oriented and secure programming language.

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 name from Oak to
Java.

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.

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

3) Enterprise Application

An application that is distributed in nature, such as banking


applications, etc. is called an enterprise application. It has
advantages like 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 that is mainly used to develop web and


enterprise applications. It is built on 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 that is dedicated to mobile applications.


Page | 3

4) JavaFX

It is used to develop rich internet applications. It uses a lightweight user


interface API.

Features of Java
The new J2 versions were renamed as Java SE, Java EE and Java ME
respectively. Java is guaranteed to be Write Once, Run Anywhere.

Java is:

• Object Oriented: In Java, everything is an Object. Java can be


easily extended since it is based on the Object model.

• Platform independent: Unlike many other programming


languages including C and C++, when Java is compiled, it is not
compiled into platform specific machine, rather into platform
independent byte code. This byte code is distributed over the
web and interpreted by virtual Machine (JVM) on whichever
platform it is being run.

• Simple: Java is designed to be easy to learn. If you understand


the basic concept of OOP Java would be easy to master.

• Secure: With Java's secure feature it enables to develop virus-


free, tamper-free systems. Authentication techniques are based
on public-key encryption.

• Architectural-neutral: Java compiler generates an


architecture-neutral object file format which makes the
compiled code to be executable on many processors, with the
presence of Java runtime system.

• Portable: Being architectural-neutral and having no


implementation dependent aspects of the specification makes
Java portable. Compiler in Java is written in ANSI C with a clean
portability boundary which is a POSIX subset.
Page | 4

• Multithreaded: With Java's multithreaded feature it is possible


to write programs that can do many tasks simultaneously. This
design feature allows developers to construct smoothly running
interactive applications.
• Interpreted: Java byte code is translated on the fly to native
machine instructions and is not stored anywhere. The
development process is more rapid and analytical since the
linking is an incremental and light weight process.

• High Performance: With the use of Just-In-Time compilers,


Java enables high performance.

• Distributed: Java is designed for the distributed environment


of the internet.

• Dynamic: Java is considered to be more dynamic than C or C++


since it is designed to adapt to an evolving environment. Java
programs can carry extensive amount of run-time information
that can be used to verify and resolve accesses to objects on
run-time.

• Robust
The English mining of Robust is strong. Java is robust
because:
o It uses strong memory management.
o There is a lack of pointers that avoids security problems.
o Java provides automatic garbage collection which runs on
the Java Virtual Machine to get rid of objects which are not
being used by a Java application anymore.
o There are exception handling and the type checking
mechanism in Java. All these points make Java robust.

JVM
JVM (Java Virtual Machine) is an abstract machine. It is called a virtual
machine because it doesn't physically exist. It is a specification that
Page | 5

provides a runtime environment in which Java bytecode can be executed.


It can also run those programs which are written in other languages and
compiled to Java bytecode.

JRE
JRE is an acronym for Java Runtime Environment. It is also written as Java
RTE. The Java Runtime Environment is a set of software tools which are
used for developing Java applications. It is used to provide the runtime
environment. It is the implementation of JVM. It physically exists. It
contains a set of libraries + other files that JVM uses at runtime.

The implementation of JVM is also actively released by other companies


besides Sun Micro Systems.

JDK
JDK is an acronym for Java Development Kit. The Java Development
Kit (JDK) is a software development environment which is used to
Page | 6

develop Java applications and applets. It physically exists. It contains


JRE + development tools.

JDK is an implementation of any one of the below given Java


Platforms released by Oracle Corporation:

o Standard Edition Java Platform


o Enterprise Edition Java Platform
o Micro Edition Java Platform

The JDK contains a private Java Virtual Machine (JVM) and a few other
resources such as an interpreter/loader (java), a compiler (javac), an
archiver (jar), a documentation generator (Javadoc), etc. to complete
the development of a Java Application.

You might also like