New to Java Programming Center - Unraveling Java Terminology


New-to-Java Programming Center

Programming Center
New-to-Java Programming Center

Java Platform Overview | Getting Started |
Learning Paths | References & Resources | Certification 

Unraveling Java Technology Terminology

By Dana Nourie, October 2000, Updated April 2005  

JavaServer Pages, JDBC, RMI, JDK--Java technology names and acronyms can be confusing for newcomers and experienced developers. This article defines the most common Java terminology in easy-to-scan, alphabetical order, and provides links for more information and downloads. This list is not a complete list of Sun's products for the Java platform, and is subject to change and updates..

Java Terminology Definition More Information
Abstract Window Toolkit (AWT) AWT is a package of classes for creating components such as buttons, menus, and scrollbars for applets and standalone applications.
Applet An applet is a Java program that runs within the web browser. Applets use a graphical user interface and may have text, images, buttons, scrollbars, and sound.
HotSpot VM

On platforms typically used for client applications, the JDK comes with a VM implementation called the Java HotSpot Client VM (client VM). The client VM is tuned for reducing start-up time and memory footprint. It can be invoked by using the -client command-line option when launching an application. The JDK also comes with an implementation of the Java virtual machine called the Java HotSpot Server VM (server VM). The server VM is designed for maximum program execution speed. It can be invoked by using the -server command-line option when launching an application.

Java Advanced Imaging (JAI) API The JAI API provides a set of object-oriented interfaces that support a simple, high-level programming model which lets you manipulate images easily, and JAI broadens the reach of the Java platform to allow sophisticated, high performance image processing functionality to be incorporated into Java applets and applications.
Java API The Java Application Programming Interface (API) is prewritten code, organized into packages of similar topics. For instance, the Applet and AWT packages include classes for creating fonts, menus, and buttons. The full Java API is included in the Java 2 Standard Edition download.
Java API for XML Processing (JAXP) JAXP enables applications to parse validate and transform XML documents. The latest release is JAXP 1.3, which is part of J2SE 5.0. An implementation that works for earlier versions of J2SE is also available.
Java Authentication and Authorization Services (JAAS) JAAS is a set of APIs that enable services to authenticate and enforce access controls upon users. It implements a Java technology version of the standard Pluggable Authentication Module (PAM) framework, and supports user-based authorization.
Java Communications API The Java Communications API can be used to write platform-independent communications applications for technologies such as voice mail, fax, and smart cards.
Java Cryptography Extension (JCE) JCE is a set of packages that provides a framework and implementations for encryption, key generation and key agreement, and Message Authentication Code (MAC) algorithms. Support for encryption includes symmetric, asymmetric, block, and stream ciphers. The software also supports secure streams and sealed objects.
Java Foundation Classes (JFC) JFC are a set of GUI components and other services simplifying the development and deployment of desktop and Internet/Intranet applications. The JFC are a superset that contains AWT. JFC extends AWT by adding many components and services. JFC consists of Swing, Java 2D, AWT, Accessibility, and the Drag-and-Drop APIs.
Java Media FrameWork (JMF) JMF enables audio, video and other time-based media to be added to applications and applets built on Java technology. This optional package, which can capture, playback, stream, and transcode multiple media formats, extends the Java platform for multimedia developers by providing a powerful toolkit to develop scalable, cross-platform technology.
Java Native Interface (JNI) JNI is the native programming interface for Java that is part of the JDK. The JNI allows Java code to operate with applications and libraries written in other languages, such as C, C++, and assembly. Recommended only for advanced programmers.
Java 2 Platform, Enterprise Edition (J2EE) The J2EE platform provides a component-based approach to the design, development, assembly, and deployment of enterprise applications. The J2EE platform gives you a multitiered distributed application model, the ability to reuse components, a unified security model, and flexible transaction control.
Java 2 Platform, Micro Edition (J2ME) J2ME is targeted for the consumer and embedded market. The API specifications are based on J2SE, but modified to meet the unique requirements of each product. J2ME makes it possible to write Java applications for cell phones, smart cards, pagers, and other consumer devices.
Java 2 Platform, Standard Edition (J2SE) J2SE includes the essential compiler, tools, runtimes, and APIs for writing, deploying, and running applets and applications in the Java programming language.
Java 3D API The Java 3D API provides a set of object-oriented interfaces that support a simple, high-level programming model you can use to build, render, and control the behavior of 3D objects and visual environments. With the Java 3D API, you can incorporate high-quality, scalable, platform-independent 3D graphics into applications and applets based on Java technology.
Java Virtual Machine 1 (JVM) The JVM executes instructions that a Java compiler generates. This runtime environment, or JVM, is embedded in various products, such as web browsers, servers, and operating systems.
Java Web Start Using Java Web Start technology, standalone Java software applications can be deployed with a single click over the network. Java Web Start ensures the most current version of the application will be deployed, as well as the correct version of the Java Runtime Environment (JRE).
JavaBeans JavaBeans architecture provides a way of designing reusable software components, that can be visually manipulated in builder tools. JavaBeans can be simple like buttons, or more complex like a tool to access databases.
Javadoc Tool The Javadoc tool is used to generate API documentation in HTML format from doc comments in source code. It can be downloaded only as part of the JDK download.
JavaHelp System JavaHelp software is a full-featured, platform-independent, extensible help system that enables you to incorporate online help in applets, components, applications, operating systems, and devices. Authors can also use the JavaHelp software to deliver online documentation for the Web and corporate intranet.
JavaServer Faces Technology JavaServer Faces technology simplifies building user interfaces for JavaServer applications. Developers of various skill levels can quickly build web applications by assembling reusable UI components in a page, connecting these components to an application data source, and wiring client-generated events to server-side event handlers.
JavaServer Pages (JSP) Create dynamic web pages with JSP pages by embedding scriptlets (Java programming language code) with HTML. JSP pages process forms, perform calculations, or do anything else that can be written with the Java programming language. To develop and test JSP pages, download NetBeans, or Sun Java Studio Creator.
JDBC JDBC is a Java API for executing SQL statements. By using the JDBC API, you can access almost any data source, from relational databases to spreadsheets to flat files. J2SE includes the JDBC API.
JDK JDK is the short-cut name for the set of Java development tools, consisting of the API classes, a Java compiler, and the Java virtual machine interpreter, regardless of which version. The JDK is used to compile Java applications and applets. The most current version is the J2SE., the preferred term these days. If you use J2SE 1.2 and later to develop applications, you are using what's known as the Java 2 Platform.
JINI The Jini network technology enables any service--from enterprise systems to kitchen appliances--to network smoothly and simply. The Jini architecture lets each service (device or software) tell others how to talk to it, without any administrator settings.
Project Swing The javax.swing package of classes is used to create GUI components for applets and applications. Project Swing classes enable programmers to specify a different look and feel for each platform, or a uniform look across all platforms. Swing is the project code name for the lightweight GUI components in Java Foundation Classes (JFC).
RMI RMI lets Java applications communicate across a network. The communicating applications can be running on different computers on opposite sides of the planet. This higher-level and method-based approach to network communications allows access to a remote object as easily as a local object.
Servlets A servlet is an extension to a server that enhances the server's functionality. Servlets are most commonly used to process forms, handle redirects or authenticate user names and passwords, and create dynamic content. To develop and test servlets, download NetBeans, or Sun Java Studio Creator.

1 As used on this web site, the terms "Java virtual machine" or "JVM" mean a virtual machine for the Java platform.

Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Your email address (no reply is possible without an address):
Sun Privacy Policy

Note: We are not able to respond to all submitted comments.