Java Glossary

Last updated 1998 July 23 by Roedy Green ©1996-1998 Canadian Mind Products.

Stuck in a frame? Click here to break out.

J

J++
Microsoft's proprietary version of Java. They don't call it Java to avoid having to conform to the Sun specifications and licensing. The IDE development system is called Visual J++.
J/Crypto
a set of cryptography classes
Jacl
a Tcl implementation in Java
Jad
a decompiler. See decompiler, disassembler.
Jakarta
Microsoft's codename for unreleased Java products. See J++.
Jack
Jack is a parser that has been renamed to JavaCC. See parser, JavaCC.
JacORB
A free object request broker. See ORB.
JLEX
JLEX is a parser, like YACC except that it generates Java code. See parser. Formerly known as JavaLex. See parser.
R.I.P.Jamba
Aimtech's $500 applet authoring tool.
James
An servlet womb from VPRO still in alpha testing. See servlet.
Jango
a Netbot that combs the web shopping malls for you looking for the best price on some product.
JAR file
Java classes can be bundled up into something that looks very much like a ZIP file with compression turned off. In JDK 1.1 you can turn compression on. It is faster to download a group of classes as a single JAR file since HTTP has high overhead to set up a connection for each file transferred. JavaBeans are packaged in JAR files. A JAR file differs from a standard ZIP in that: You can create or read jar files with the java.util.zip classes, or with Sun's Jar.exe utility. You can also use WinZip version 6.3 or later to view or delete files. Unfortunately WinZip there are several problems in using WinZip to create jar files or to add files to them.
Microsoft Internet Explorer does not support jar files. It uses Microsoft-proprietary single-platform cab files instead.
See archive, cab, GZIP, ZIP, PackAJar, manifest, JavaBean, BeanBox, BeanInfo, Java Cannery, MoaJar.
JASM
Java ASseMbler. Pronunced "jazz-em", a generic term for assemblers for the JVM bytecodes. It also includes postfix assemblers. O'Reilly is publishing a book Java Virtual Machine includes an assembler. See Java Bytecode Assembler. Jasmin.
Jasmin
an assembler to generate JVM bytecodes. It was written as a companion to the O'Reilly book, The Java Virtual Machine, about the JVM. See JASM.
Jato
Powersoft/Sybase's rapid application development (RAD) Java development tool formerly code-named "Starbuck" based on Optima++. Now called PowerJ.
jaunting
a technique pioneered in Abundance for allowing programs to run backward in time when an assertion fails thus giving the user a chance to navigate around the assertion by entering corrected data. Manually-invoked jaunting allows users to change their minds about what they should have entered earlier. Brawling Spanish stair or Gully Foyle fans will recognize the etymology from "Jaunte" in Alfred Bester's The Stars My Destination no ISBN, Bantam Books 553-04815-060. See Byte Magazine, 1986 October. See undo, checkpointing, trap-door functions, try blocks, exceptions, throwing, PVCS.
Java
a computer language like a stripped down C++ that has been designed so that its object modules can run unmodified on many different platforms. Its primary characteristics are safety and security. The language was originally named Oak, but it turned out that name was already taken. Over coffee, somebody suggested Java as a replacement. Since programmers are the occupationally prone to caffeine addiction, the name seemed auspicious. For a formal definition of the language see the Language Specification.
Java Blend
Sun's smart dbaware components.
Java Bytecode Assembler
A a more-or-less traditional assembler for JVM. You would be surprised however how much like Java itself the code looks. See JASM.
Java Card
SLB has implemented a subset of Java to fit on a smart card using a 6805 microcontroller. There is a 4KB ROM and and 8KB operating system.
Java Cannery
Starlight Software's beta tool for creating jar files written in Java. It automatically generates all the entries in the manifest file, including the Depends-on entries. See jar files, manifest.
Java Cup
See JavaCUP.
Java Developer's Journal
a magazine for Java developers. Roedy Green and Andre van Delft, comp.lang.java regulars are contributors. See Pure Java Developer's Journal.
Java In A Nutshell
ISBN 156592262X or 1565923049 for the deluxe CD version. This is David Flanagan's classic text on Java published by O'Reilly. It is for experienced programmers new to Java, not new to programming. It covers the Java language and lists all the methods of the standard classes, indexed in a variety of convenient ways. Unfortunately there is no room to provide anything you could not find out by looking at the JavaDOC. It would be nice, if at least on the CD, there were additional notes about the various gotchas, how the various methods are used together etc. It is a reference, not a tutorial. It comes in two versions, plain and deluxe with CD that includes four other books: Exploring Java, the Java Language Reference, Java Fundamental Classes Reference, and the Java AWT Reference. The author answers his email and uses the feedback to improve the book. If you purchase it online via this link to Amazon.com I get a 15% commission.
Java Reports Online
an online magazine about Java.
Java Ring
At the 1998 JavaOne conference Sun and Dallas Semiconductor distributed rings and ring readers. The pinky rings contained an embedded chip that encoded whether you liked cream or sugar in your coffee, and a unique id. The rings are big and silver, looking like something from an 1940's Green Hornet episode. The reader/encoders interface via a standard serial or parallel port. The rings could be used for robust, low cost mag stripe card sorts of applications. You can buy a development kit with a ring and your choice of serial or parallel reader for $50 from iButton. You can download software from the iButton site.
Java Software
Java-Software.com is a collection of Java Applications, complex Java Applets (for Intranets for example) and Java Development Resources. This service is free both for authors and users. There is also a German Language version.
R.I.P.Java Spec Report
GMID's unofficial report on the Java specification. It no longer tracks bugs in the JDK.
Java Studio
Sun's tools for managing JavaBeans. See JavaBeans.
Java Workshop
JavaSoft's IDE for writing Java code, sometimes called JDE.
Java Web Server
Sun's implementation of a servlet womb. Formerly known as Jeeves. see servlet.
java.exe
Java.exe is the JVM runtime or JIT that lets you execute your class files. You use it like this:
java HelloWorld
Note, unlike with javac.exe, you don't specify the extension (.class). You must be in the directory where HelloWorld.class lives, and HelloWorld must have a public static void main (String[] args) method. The classpath must provide access to all the needed *.class, *.zip and *.jar files. java.exe has a number of options.
Optioneffect
-helpprint out info on options
-versionprint out the build version.
-v -verboseturn on verbose mode.
-debugenable remote JAVA debugging.
-noasyncgcdon't allow asynchronous garbage collection.
-verbosegcprint a message when garbage collection occurs.
-noclassgcdisable class garbage collection.
-ss 64000set the maximum native stack size for any thread, in bytes.
-oss 300000set the maximum Java stack size for any thread, in bytes.
-ms 4000000set the initial Java heap size, in bytes.
-mx 20000000set the maximum Java heap size, in bytes.
-classpath .;C:\java\classes.zip ... list directories in which to look for classes.
-prof:java.profoutput profiling data to .\java.prof.
-verifyverify all classes when read in.
-verifyremoteverify classes read in over the network.
-noverifydo not verify any class.

I lied to you. Life is actually a little more complicated. If you feel ready for the whole truth, here is how it really works:

See CLASSPATH, javac.exe.
Java-Src
Java-Src is a mailing list for sharing free Java source code. If you have written an interesting program and want to share the source code with others then feel free to post either a short message or the code itself to java-src@listserv.prodigy.com. Java-src is no discussion list - only source code or bulletins (if the source code itself is too big) will be distributed. The list is moderated so nobody will be able to abuse it. To subscribe, send an email to majordomo@listserv.prodigy.com with subscribe java-src in the message body.
JavaBeans
A standard for Java componentware. It functions much like Microsoft's Windows-specific VBX Visual Basic pluggable components. The JavaBeans APIs allow ISVs to develop reusable software components that end-users can then hook together using visual application builder tools, such as Inprise's JBuilder, IBM's Visual Age, SunSoft's Java Workshop and Symantec's Visual Café. For example, Visual Café Pro has already created many smart components to give Delphi-like abilities to crank out SQL database applications. JavaBeans have persistence (with serialised customised objects stored in *.ser pickle files), properties, events and methods that are exposed to the GUI designer. They also support "introspection" so that GUI builder tools can examine them to figure out what properties and methods they support.
Writing a Bean is easy. Usually beans are bundled up with their corresponding BeanInfo classes into jar files.
Many companies are selling JavaBeans you can plug into your own custom applications. I have some I have written available free with source code. They handle prompting, data validation and generating error messages for data keyed. There are plain and dbaware components for dates, FormattedTextFields, phone numbers, provinces, postal codes, etc. you can download.
Companies selling beans include ProtoView Jsuite, Rogue Wave, SoftTech, StingRay, KL Group JClass and Three D Graphics. See BeanInfo, manifest, Jar file, BeanBox, introspection, pickle file, Gembuilder, Java Studio, BulletProof,KL Group, Rogue Wave, Stingray.
javac.exe
Sun's free Java compiler that comes bundled with the JDK. Most commonly you invoke it with:
javac myClass.java
Note, unlike with java.exe, you must specify the extension (.java). There are a variety of case-sensitive optional switches:
-g?
-o?
-debugadd information to class files to aid in debugging.
-depend?
-nowarnsuppress warning messages.
-verboselong version of error messages.
-classpath /mydir:myCollection.jar:/jdk/classes.zipoverriding CLASSPATH, colon separated.
-nowritedon't actually generate code, just check the syntax.
-deprecationwarn of any use of any deprecated methods.
-d targetDirPlace the output class files in this directory rather than the usual same directory as source.
-J runtimeflag
See java.exe, HelloWorld.
JavaCC
Formerly known as Jack. Suntest's and Metamata's JavaCC is a parser, like YACC, except that is it written in Java and generates Java code. It is similar to PCCTS. JavaCC is a LL(k) parser, whereas YACC is a LALR(1) parser, so the grammars look quite different. The documentation is quite readable, unlike most other in the field. The parser has some parsing speedup tricks like lookahead and custom code for the tricky bits. The download includes a slew of examples but no reference manual. The closest thing to a reference manual is the annotated JavaCC grammar and a minitutorial on tokenising available separately. See parser.
JavaCUP
JavaCUP is a parser, like YACC except that it generates Java code. See parser.
JavaDis
Wingsoft's Java disassembler to reverse engineer class files back into something similar to a Java source code. Now known as WingDis. See disassemble.
JavaDOC
Sun's tool for generating HTML documentation on classes by extracting comments from the Java source code files. The comments look like this:
/**
  * @(#)FormattedTextField.java    1.34 98/01/27
  * @author Roedy Green
  * @version 1.34 1998 January 18
  * @deprecated No replacement
  * @deprecated Replaced by otherMethod(int)
  * @see otherMethod
  * @see #otherMethod
  * @see java.awt.Component#repaint
  * @see <a href="http://mindprod.com/gloss.html">Java glossary</A>
  * @see "Design Patterns by Gamma et. al"
  * @param x >B<pixels>/B< right of the origin.
  * @return number of oranges.
  * @exception java.beans.PropertyVetoException when mask is invalid
  * @since JDK1.1
  */
You can generate the HTML with javadoc MyClass.java. If you want private methods also documented use:
javadoc -private MyClass.java
If you run out of RAM, expand the virtual memory space with:
javadoc -J-mx64m -J-ms64m ...
if that does not work try:
javadoc -J-mx64000000 -J-ms64000000 ...
Before you write reams of JavaDOC, look at some vaguely related topics, examples, and generate some HTML to learn some of the fine points. @author and @version are not officially permitted on individual methods, just classes and interfaces. See C:\jdk1.1.5\docs\tooldocs\solaris\javadoc.html in the JDK documentation pack. Generated JavaDOC in JDK 1.2 is quite different, and easier to navigate. Have a look at a sample. See PolarDoc, iDoc, obsoft.
Javagator
Informal name for Netscape's new browser written entirely in Java.
JavaLex
see JLex
JavaMail
Proprietary Java code to use POP3 for getting mail or SMTP for sending it. Also Sun's generic Java API for mail. Sun has a preview implementation your can download. See SMTP, POP3.
JavaUniverse Developer
an online magazine for Java developers. Formerly JavaZine.
JavaOS
Sun's portable mini-operating system written entirely in Java. It is intended for embedded systems. See the Byte Magazine article.
JavaHTTPD
A server CGI womb in which to run Java servlets. See servlet.
Javanese
The way things are written in the Java computer language. I don't mean bahasa Indonesia, the language of the people living on the island of Java.
JavaPC
A DOS-based 32-bit JVM for DOS 486+ PCs.
JavaPhone
Java will be used to implement smart telephones.
JavaPVM
JavaPVM is an interface written using the Java native method capability which allows Java applications to use the Parallel Virtual Machine (PVM) software package for implementation of parallel programs and inter-process communication among networks of heterogeneous, single- and multi-processor workstations. Together, PVM and JavaPVM support inter-process communication among Java, C, C++, and FORTRAN programs.
JavaScript
a scripting language embedded in HTML very different from Java that can be interpreted by the Netscape HTML browser. Questions about JavaScript should be directed to comp.lang.javascript not comp.lang.java.
JavaShare
JavaShare is a web site with shareware software developed with the Java language. This includes Java Stand-Alone Applications, Applets, JavaBeans, Servlets, Development Tools, Classes/Packages, and Javascript. Feel free to submit your Java project to the site.
JavaSoft
The business unit of Sun Microsystems that has the charter for the Java language and JDK, including licensing.
JavaWorld
a Java magazine. Comp.lang.Java regular Chuck McManis writes for it.
Javelin
A graphical IDE for Java and C++.
JaWa
A preprocessor for allowing Eiffel-like assertions in Java. see assertions.
JaWiz
An IDE for writing Java applications that works with the Sun JDK 1.1.
JaZilla
a collaborative project to port Mozilla (the Web browser for which Netscape has released C++ source code) to Java. See the Usenet newsgroup at netscape.public.mozilla.java.
JBuilder
Inprrise's (Borland's) Java IDE formerly called Latte. It is similar to Delphi. It does not handle JDK 1.0.2, but it does handle Swing, which other similar environments have trouble with.
JC 100
the JC 100 is a fledgling organisation that is trying to get a bunch of Java component vendors together to agree on standard ways of doing things so our components work together. It's headed up by the folks from Digital Harbor.
JDBC
Java DataBase Connectivity. Sun JavaSoft's API standard for attaching to an SQL-style database. The first SQL product out the gate supporting it is MSQL. It allows a client Java application to connect directly to the SQL engine on a server without needing to go through packets sent via CGI. It is similar to Microsoft's ODBC, but platform independent. David Linker maintains a FAQ about SQL and JDBC including small free implementations. See Thorton Prime's FAQ about JDBC. If you are looking for an example for building a JDBC driver from the ground up, see Karl Moss's book Java Database Programming with JDBC (ISBN 1-57610-056-1). JDBC is a somewhat wimpy standard. JDBC has many queries that allow you to ask what is supported and how, yet it makes almost no demands on what has to be supported or how. For example, you can't count on there being any way to read a row of a result set more than once or to scroll backwards through the result set. You can give feedback to Sun about JDBC at jdbc-javadev-feedback@eng.sun.com. I have written an essay about JDBC. It includes a list of JBDC and SQL vendors including prices of their products. See ODBC, SQL, JSQL, JDX, Jeevan.
JDE
Sun's Java IDE (Integrated Development Environment) for writing Java applications. Sometimes called Java Workshop. See JDK.
JdesignerPro
BulletProof's classes for ODBC, spreadsheets and charts.
JDK
Sun's Java Development Kit. It consists of a compiler written itself in Java, and a run time interpreter for your particular platform. You compose programs using a traditional text editor. The term JDK also refers generally to the set of Sun-supplied classes including the AWT. The new version is available as JDK 1.1.6. The beta version is available as JDK 1.2 beta 4.

Note, Sun's install instructions say to hit download software. There is no such button. Hit continue instead. This package optionally upgrades your Winsock. Undo with C:\WINDOWS\WS2BACKUP\WS2BACKUP.BAT or remove/reinstall Win95 dialup networking. The new socket software did not work for me and for a few other people I talked to. Plan your recovery before you install. Without a working Winsock you won't be able to ask for help or go searching the net for a solution. See this more friendly uninstaller.

The new features include printing, persistence, remote procedure calls, internationalisation, signed applets, a whole new way of handling events, JavaBean components, BigInteger and BigDecimal for arbitrary precision arithmentic and reflection. For a complete list of classes, see the JDK 1.1 class hierarchy. Addison Wesley has a draft of their book on the JDK 1.1 online. You cannot distribute the JDK with your program. You must distribute the stripped down JRE instead. See JDE, JRE.

JDX
A product that uses SQL databases to implemeet persistent Java objects.

Je

Jeevan
W3apps object oriented database.
Jeeves
Javasoft's Internet Web Server now called the Java Web Server. Acme also have a product that uses the Jeeves API, but with their own source code. See Servlet.
JENI
Java Enterprise Network Interface. Jentec's free product for programming E-mail, file I/O, printing, and directory services. It allows applets/applications to email, open, save, and print files to the network or locally if in application mode. JENI is protocol independent by supporting various server protocols like FTP, NFS, LDAP, POP, SMTP.
JFC
Java Foundation Classes. Sun's set of fancy JavaBean compatible GUI components. These include: Drag and Drop, New high-Level components, Pluggable Look/Feel (you choose whether you want to look like Windows, X etc.) 2D API, Accessability Features for the physically challenged, Tree view, List view, Table view, Tool bar, Pane Splitter, Tabbed folder, multi-column List, List with images, Progress bar, Slider, Styled Text, support import/export of HTML and RTF, Font Chooser, Color Chooser, Custom cursors, Tool tips, Generic button and MenuItem with images/check marks, Status bar, Spinbox, Combobox, Drop-down combobox, Drop down list box, Composable button, Multimedia Controls: Movie slider, AudioController, Movie controller, Properties, AudioGauge and MidiPanel. JFC grew out of Netscape's IFC. The GUI portion of JFC is known as Swing. See AFC, IFC, Swing.
JFox
a web browser written in Java. See HotJava.
JFront
A preprocessor to add C++ style operator overloading to Java.
JGL
Java Generic Library from ObjectSpace It has an extensive collection of reusable data structures and algorithms, including sorting. It is fast, free, and has been licensed by many compiler vendors for inclusion in their products.
Jigsaw
CERN World Wide Web Consortium server CGI womb in which to run Java servlets. See servlet.
JIT
Just In Time compiler. See JVM, Café, CACAO, Supercede, Kaffe, HotSpot.
Jive
a free Java chat program.
JMF
Java Media Framework. A set of native classes to play sound files in many formats including Microsoft's WAV and AU. Both JavaSoft and Intel have developed packages. Intel calls their package Intel Media Framework, Java Edition. See IMF, wav, sound.
JNDI
Jjava Naming and Directory Interface. A multi-platform way to get at directories and files.
JNI
Java Native Interface. How you write C code native methods callable from Java. See RNI, JRI, native class.
Jobe
A shrouder. See shroud.
JOE
Java Object Environment from Sun. See IDL. See Cup 'O Joe.
join
In SQL, selecting a row created from a data in two different tables, matched up by comparing values in specified columns. Normal INNER JOINS contain only matches. Outer joins contain mismatches as well. A LEFT OUTER JOIN B, contains entries from table A, whether or not they had matches in table B. A RIGHT OUTER JOIN B, contains entries from table B, whether or not they had matches in table A. A NATURAL JOIN, is a join where all identically named columns in tables A and B have matching values. A KEYED JOIN is a join done using matching values for fields in the PRIMARY and FOREIGN KEYS in the natural way. A CROSS JOIN is a Cartesian product of table A with table B, creating a combined record for every possible combination of a record from A with one from B. It is also possible to join a table to itself, creating Cartesian product list of all combinations of pairs of records matching some criteria. These are called self-joins.
JoZilla
a collaborative project organised by Netscape to write a web browser from scratch in Java. See Jazilla.
Jove
A super optimiser for Java that generates native code for Windows and NT.
JPEG
A compressed file format Java uses primarily for photographs. Such files usually have a *.jpg extension. JPEG stands for Joint Photographic Experts Group. See GIF, image.
JPG
See JPEG.
JPVM
JPVM is a PVM-like library of object classes implemented in and for use with the Java Programming language. PVM is a popular message passing interface used in numerous heterogeneous hardware environments ranging from distributed memory parallel machines to networks of workstations. JPVM, thus, is the combination of both PVM and Java -- ease of programming inherited from Java, high performance through parallelism inherited from PVM.
JRAD
JRAD puts out freeware source for a set of Java classes that simulate the Windows 95 components e.g. Tabbing and WizardDialog, NoMarginLabel, 3DLine, ToolTip, ToolBar, ImageButton, FolderTab and GroupBox.
JRE
Java Runtime Environment. This is the subset of Sun's Java Development Kit that you can ship with your application. It comes in JDK 1.1 and 1.0.2 flavors. It just became available at JavaSoft. It includes the JVM and the standard class library files. See JDK.
JRI
Netscape's Java Runtime Interface for writing native classes. For cross-platform work, it has been supplanted by the JNI standard. See JNI, RNI.
JShape
A Java GIS (Geographic Infomation System) that:
  1. Allows you to publish your GIS data to WWW internet and intranet.
  2. Handles databases over a gigabyte.
  3. Allows you integrate your GIS vector datasets and geo-referenced maps.
  4. Provides a Java APIs which allow users to customise their programs.
  5. Provides script commands which allow users to customise their programs without Java programming.
JShrink
Jshrink removes unnecessary symbolic information from Java .class files, resulting in files that load faster and yield less information when decompiled. See shroud.
JSpell
JSpell is a 100% Java, royalty free, spell check toolkit, which gives Java developers the ability to include spell check features into their Java applets and applications with a minimum amount of code.
JSpring
Ameran's clean room JVM interpreter for small embedded computers running underthe Sparc-solaris, Sparc-sunos or the the RTOS vxworks of Wind River System. See clean room.
JSQL
JSQL is a joint venture between IBM, Tandem arnd Oracle to build a more programmer-friendly SQL interface that JDBC. JSQL calls for automatic mapping of SQL types to Java objects, thereby producing bridges between the two languages, in addition to delineating methods for checking at application compile-time to make sure that SQL and Java types match. I saw a demo at the Colorado Summit. I was not impressed. We have a long way to go to get a decent SQL interface to Java. See SQL, JDBC.
JTAPI
Java Telephony Application Programming Interface. A set of classes for controlling a PBX or other telephony equipment. Download Sun's version.
JTONE
Java Telephone Object Environment. A standard for Java to contrlol telephony equipment, e.g. voicemail.
JTV
Java-enabled TeleVision. A Java platform supporting enhanced and interactive television applications. It is being developed as an open industry standard.
JUMP
A math package written in Java.
JUG
Jva User Group. Groups who usually meet once a month to discus Java and vaguely related topics, usually with a speaker.
JVM
Java Virtual Machine. The machine code for an ideal Java CPU. Sun is working on silicon CPU for this set of op-codes. The multi-platform universal *.class files are the machine code for such an ideal machine due out in 1997. Mitsubishi has also announced one. Until we all have Java CPU chips, there are two ways of running this code on a conventional CPU -- (1) interpreting it with a C program that simulates this ideal CPU, or (2) compiling it with a JIT (Just In Time) compiler into native machine code. The JIT compiles the byte code each time the class is loaded. It does not typically save a copy of the native code translation on disk. It is possible to write code for the JVM more or less directly with a JVM assembler. JVM also refers to the platform-specific program that can interpret JVM byte codes and execute them.

I know of only one book that covers the JVM and the binary codes, the classfile format etc. It is known as the goldfish bowl book because of its cover, but is officially called The Java Virtual Machine by Jon Meyer and Troy Downing, O'Reilly ISBN 1-56592-194-1. If you purchase it online via this link to Amazon.com I get a 15% commission.

The book is frustrating because it spends so much time with the irrelevant Jasmin assembler and its syntax. You are interested in generating byte codes directly, not assembler. It leaves out much you must discover by experiment looking at generated class files, such as whether offsets are signed or absolute, where the base is etc. In its next revision, it should set the Jasmin aside in an appendix, and include examples and more precise documentation on the binary formats. The book is still valuable because it gives a fair bit of background exposition you will not find in the vmspec itself. You would use this book to understand the VM, then the vmspec to actually write code that generated or modified class files.

See Mach J, JIT, IDE, JSpring.



HTML Checked! award
Canadian Mind Products The Mining Company's
Focus on Java
Best of the Net Award
You can get an updated copy of this page from http://mindprod.com/jglossj.html