Provide Best Programming Tutorials

The Java Language Specification, API, JDK, JRE, and IDE

Java syntax is defined in the Java language specification, and the Java library is defined in the Java application program interface (API). The JDK is the software for compiling and running Java programs. An IDE is an integrated development environment for rapidly developing programs.

Computer languages have strict rules of usage. If you do not follow the rules when writing a program, the computer will not be able to understand it. The Java language specification and the Java API define the Java standards.

The  Java language specification is a technical definition of the Java programming language’s syntax and semantics. You can find the complete Java language specification at

The application program interface (API), also known as library, contains predefined classes and interfaces for developing Java programs. The API is still expanding. You can view and download the latest version of the Java API at

Java is a full-fledged and powerful language that can be used in many ways. It comes in three editions:

  • Java Standard Edition (Java SE)  to develop client-side applications. The applications can run on desktop.
  • Java Enterprise Edition (Java EE)  to develop server-side applications, such as Java servlets, JavaServer Pages (JSP), and JavaServer Faces (JSF).
  • Java Micro Edition (Java ME)  to develop applications for mobile devices, such as cell phones.

This book uses Java SE to introduce Java programming. Java SE is the foundation upon which all other Java technology is based. There are many versions of Java SE. Oracle releases each version with a Java Development Toolkit (JDK).  For Java SE 8, the Java Development Toolkit is called JDK 1.8  (also known as Java 8  or JDK 8 ).

The JDK consists of a set of separate programs, each invoked from a command line, for compiling, running, and testing Java programs. The program for running Java programs is known as JRE (Java Runtime Environment) . Instead of using the JDK, you can use a Java development tool (e.g., NetBeans, Eclipse, and TextPad)—software that provides an integrated development environment (IDE)  for developing Java programs quickly. Editing, compiling, building, debugging, and online help are integrated in one graphical user interface. You simply enter source code in one window or open an existing file in a window, and then click a button or menu item or press a function key to compile and run the program.


  1. What is the Java language specification?
  2. What does JDK stand for? What does JRE stand for?
  3. What does IDE stand for?
  4. Are tools like NetBeans and Eclipse different languages from Java, or are they dialects or extensions of Java?


Leave a Reply

Close Menu