Java Development Kit (JDK) in Java -> Java Online - Javaengineers

Programming languages or concepts
0

 

Java Development Kit (JDK)

The Java Development Kit (JDK) is one of three core technology packages used in Java programming, along with the JVM (Java Virtual Machine) and the JRE (Java Runtime Environment). It's important to differentiate between these three technologies, as well as understanding how they're connected:


  • The JVM is the Java platform component that executes programs.
  • The JRE is the on-disk part of Java that creates the JVM.
  • The JDK allows developers to create Java programs that can be executed and run by the JVM and JRE.

What is the Java Development Kit (JDK)?

The Java Development Kit (JDK) is a software development environment that offers a collection of tools and libraries necessary for developing Java applications. You need the JDK to convert your source code into a format that the Java Runtime Environment (JRE) can execute.


The JDK includes the Java Runtime Environment (JRE), an interpreter (java), a compiler (javac), an archiver (jar), a documentation generator (javadoc), and some other development tools. The Java Runtime Environment itself consists of the Java Virtual Machine (JVM), supporting files, and core classes.


The Java Development Kit (JDK) is a cross-platformed software development environment that offers a collection of tools and libraries necessary for developing Java-based software applications and applets. It is a core package used in Java, along with the JVM (Java Virtual Machine) and the JRE (Java Runtime Environment). 


Beginners often get confused with JRE and JDK, if you are only interested in running Java programs on your machine then you can easily do it using Java Runtime Environment. However, if you would like to develop a Java-based software application then along with JRE you may need some additional necessary tools, which is called JDK.





JDK is an implementation of any one of the below given Java Platforms released by Oracle corporation:


  1. Standard Edition Java Platform
  2. Enterprise Edition Java Platform
  3. 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.


Latest version

The latest version is JDK 17, which was released in September 2021 Here’s a list of some of its new features:

  • Switch expressions
  • Pattern matching for instanceof
  • Records
  • Helpful NullPointerExceptions
  • Text blocks



JDK contains:


  • Java Runtime Environment (JRE),
  • An interpreter/loader (Java),
  • A compiler (javac),
  • An archiver (jar) and many more.

The  Java Runtime Environment in JDK is usually called Private Runtime because it is separated from the regular JRE and has extra contents.



Components of JDK

Following is a list of primary components of JDK:


appletviewer:

This tool is used to run and debug Java applets without a web browser.

apt:

It is an annotation-processing tool.

extcheck:

it is a utility that detects JAR file conflicts.

idlj:

An IDL-to-Java compiler. This utility generates Java bindings from a given Java IDL file.

jabswitch:

It is a Java Access Bridge. Exposes assistive technologies on Microsoft Windows systems.

java:

The loader for Java applications. This tool is an interpreter and can interpret the class files generated by the javac compiler. Now a single launcher is used for both development and deployment. The old deployment launcher, jre, no longer comes with Sun JDK, and instead it has been replaced by this new java loader.

javac:

It specifies the Java compiler, which converts source code into Java bytecode.

javadoc:

The documentation generator, which automatically generates documentation from source code comments

jar:

The specifies the archiver, which packages related class libraries into a single JAR file. This tool also helps manage JAR files.

javafxpackager:

It is a tool to package and sign JavaFX applications.

jarsigner:

the jar signing and verification tool.

javah:

the C header and stub generator, used to write native methods.

javap:

the class file disassembler.

javaws:

the Java Web Start launcher for JNLP applications.

JConsole:

Java Monitoring and Management Console.

jdb:

the debugger.

jhat:

Java Heap Analysis Tool (experimental).

jinfo:

This utility gets configuration information from a running Java process or crash dump.

jmap:

Oracle jmap - Memory Map- This utility outputs the memory map for Java and can print shared object memory maps or heap memory details of a given process or core dump.

jmc:

Java Mission Control

jps:

Java Virtual Machine Process Status Tool lists the instrumented HotSpot Java Virtual Machines (JVMs) on the target system.

jrunscript:

Java command-line script shell.

jstack:

It is a utility that prints Java stack traces of Java threads (experimental).

jstat:

Java Virtual Machine statistics monitoring tool (experimental).

jstatd:

jstat daemon (experimental).

keytool:

It is a tool for manipulating the keystore.

pack200:

JAR compression tool.

Policytool:

It specifies the policy creation and management tool, which can determine policy for a Java runtime, specifying which permissions are available for code from various sources.

VisualVM:

It is a visual tool integrating several command-line JDK tools and lightweight [clarification needed] performance and memory profiling capabilities

wsimport:

It generates portable JAX-WS artifacts for invoking a web service.

xjc:

It is the part of the Java API for XML Binding (JAXB) API. It accepts an XML schema and generates Java classes.

 

Most Popular JDKs:

  • Oracle JDK: the most popular JDK and the main distributor of Java11,
  • OpenJDK: Ready for use: JDK 15, JDK 14, and JMC,
  • Azul Systems Zing: efficient and low latency JDK for Linux os,
  • Azul Systems: based Zulu brand for Linux, Windows, Mac OS X,
  • IBM J9 JDK: for AIX, Linux, Windows, and many other OS,
  • Amazon Corretto: the newest option with the no-cost build of OpenJDK and long-term support.

Tags:

Post a Comment

0Comments

Post a Comment (0)
close