You are on page 1of 12

Features of Java

Simple

Secure

Portable

Robust

Multithreading

Platform independent

Distributed

Dynamic
Java Environment

The Java environment comprises numerous development


tools, classes, and methods. The development tools for
Java are provided as a part of the system known as Java
Development Kit (JDK). Moreover, the Application
Programming Interface (API) comprises the classes and
interfaces used in Java programming. In this section, we
discuss the following:

Java Development Kit

Java Platforms

Java Virtual Machine

Java API

Java Programs
Java Development Kit

Keeping in mind the developers, Sun introduced JDK


originally, which is now an Oracle product. JDK provides
a collection of the Java tools, which are used while
developing and running Java programs. The kit
comprises the following development tools:

java—Serves as a Java interpreter used to run Java


applets and applications by reading and interpreting
bytecode files

javac—Serves as a Java compiler used to translate Java


source code into bytecode files

javacdoc—Creates HyperText Markup Language


(HTML) documentation for Java source code files

javap—Serves as a Java disassemble used to convert


bytecode files into a Java program description
jdb—Serves as a Java debugger used to find errors in
Java programs

appletviewer—Facilitates to run Java applets

jar—Serves as an archive used to package related class


libraries into a single executable JAR file and also helps
to manage the JAR files

javah—Serves as the C header and stub generator used


to write native methods
Java Platforms
What is Java Standard Edition (Java SE)?
The Java SE Edition of Java is the most commonly used
among the three Java editions. It is used for developing
desktop and console-based applications. It consists of:
A runtime environment Sets of APIs to build a wide
variety of applications, comprising standalone pplications
that can run on various operating systems, such as
Microsoft Windows, Linux, and Solaris

What is Java Enterprise Edition (Java EE)?


Java EE is a platform primarily used for building server-
side applications by using its convenient component-
based approach. It is a platform-independent, Java-
centric environment from Oracle, which is meant for the
development and online deployment of Web-based
Enterprise applications. The Java EE platform consists of
a set of service—APIs and protocols. These services
provide the functionality for developing multi tiered,
Web-based applications.
Thekey features and services of Java EE are as follows:

At the client tier, it supports pure HTML as well as Java


applets or applications. It relies on Java Server Pages
and Servlet code to create HTML or other formatted data
for the client.

Enterprise JavaBeans (EJB) provides a layer for storing


the platform’s logic. The EJB server provides functions
such as threading, concurrency, security, and memory
management. These services are transparent to the
author.

Java Database Connectivity (JDBC), which is the Java


equivalent to Open Database Connectivity (ODBC), is the
standard interface for Java databases.
What is Java Micro Edition (Java ME)?

It enables you to build Java applications for micro-


devices, which include handheld devices, such as cell
phones and Personal Digital Assistants (PDAs), and other
similar devices with limited display and memory support.
It is a competitor to Microsoft’s .NET Compact
Framework

The devices that you use nowadays, such as cell phones,


PDAs, televisions, and set-top boxes, are often powered by
Java ME. This is because Java ME provides a robust and
flexible environment to enable the applications meant to
run on devices that are low on resources, such as
processor and memory.
Java Virtual Machine (JVM) is an abstract computing
machine.

Java Runtime Environment (JRE) is an


implementation of the JVM.

Java Development Kit (JDK) contains JRE along with


various development tools like Java libraries, Java source
compilers, Java debuggers, bundling and deployment
tools.

Just In Time compiler (JIT) is runs after the program


has started executing, on the fly. It has access to runtime
information and makes optimizations of the code for
better performance.
Java API
It is a collection of classes, interfaces, and methods
provided in the form of Java packages. In other words, it
is a large collection of already created classes and
interfaces, which provide many useful capabilities, such
as Graphical User Interface (GUI), date, time, and
calendar capabilities. The categorization of Java API in
the form of Java packages is as follows:

Application Programming Packages

java.lang—Provides classes that are fundamental to the


design of the Java programming language

java.util—Provides legacy collection classes, event


model, collection framework, date and time capabilities,
internationalization, and other utility classes, such as
string tokenizer
java.io—Provides classes for system input and output
through data streams, serialization, and the file system

Applet and Network Programming Packages

java.awt—Provides classes for creating user interface


and painting graphics and images

java.applet—Provides classes that are necessary for


creating an applet and those that are used to
communicate with its applet context

java.net—Provides classes that are used for


implementing networking in Java programs
JDK folder

Folder Description

bin The compiler and other Java development tools

demo Demo programs from which you can learn various Java features

include Files required to integrate Java with other languages

jre Runtime Environment files

lib Library files, including the Java API class library

sample Samples, with source code, of programming for certain Java API's

db Oracle’s distribution of the Apache Derby relational database

Table 1.2: Additional files in the JDK root folder

File Description

README.html The Java readme file in the HTML format

THIRDPARTYLICENSEREADME.txt A license file for third parties, regarding usage and redistribution of JDK

LICENSE The Java license that you agreed to when you downloaded JDK
COPYRIGHT The copyright notice about all the copyright and export laws applied by

Sun

register.html For free register of the JDK installed with Oracle

release It contains details such as Java version, OS name, and OS version


register_ja.html and These HTML files are, respectively, the Japanese and Chinese versions of

register_zh_CN register.html

Src A .zip file that contains the code for Java API classes

You might also like