Articles

by Bill Venners, February 15, 1998 Submit comment
This article describes the process of object initialization in Java programs. It discusses constructors, initializers, instance initialization ( <init>) methods, initialization and inheritance, object images on the heap, and the order in which an object's variables get initialized.
by Bill Venners, February 15, 1998 Submit comment
This installment of the Design Techniques column begins with a quick look at object-design fundamentals, then goes on to discuss various approaches to designing initializers and constructors so as to facilitate the proper initialization of objects.
by Bill Venners, January 15, 1998 Submit comment
This article introduces the Design Techniques column and discusses the larger issues involved in designing Java programs. In addition, it examines the software development process in general, describes the role of design within that process, and looks at the various and competing goals of a "good" software design.
by Bill Venners, November 15, 1997 Submit comment
This final installment of Under the Hood gives a brief history of the column, tracing its development and maturation, a topical index of the column's back issues, and a hint of what readers can look forward to from this popular JavaWorld author.
by Bill Venners, October 15, 1997 Submit comment
This article turns to one aspect of Java's security model: the security manager of the Java virtual machine (JVM). The security manager, working in concert with the Java API, enables programmers to establish a custom security policy for their Java applications.
by Bill Venners, September 15, 1997 Submit comment
This article looks at the class verifier of the Java virtual machine (JVM). The class verifier enables untrusted code to be verified up front, rather than on the fly as the code is executed. This ability provides uninterrupted execution (the program can't "crash" uncontrollably) at a minimal cost in speed degradation.
by Bill Venners, August 15, 1997 Submit comment
One of the primary reasons Java technology is a "good fit" for networks is that it has a comprehensive security model designed into its architecture. Beginning with a refresher on the Java sandbox, this article turns to one aspect of that security model: the class loader architecture of the Java virtual machine.
by Bill Venners, July 15, 1997 Submit comment
All Java programs are compiled into class files, which contain bytecodes, the machine language of the Java virtual machine. This article takes a look at how thread synchronization is handled by the Java virtual machine, including the relevant bytecodes.
by Bill Venners, July 15, 1997 Submit comment
One of the primary reasons Java technology is a "good fit" for networks is that it has a comprehensive security model designed into its architecture. The first half of this article gives an overview of Java's security model. The second half focuses on one aspect of that security model: the safety features built into the Java virtual machine.
by Bill Venners, June 15, 1997 Submit comment
This article takes a look at how method invocation and return is handled by the Java virtual machine, with a close inspection of the relevant bytecodes is included. The article ends with a source-code example of method invocation.
by Bill Venners, May 15, 1997 Submit comment
Mobile agents have been around for many years, but they haven't yet entered the mainstream. This article answers the question, Why would developers choose mobile agents over other software technologies, such as client/server, applets, and servlets, for solving real-world problems?
by Bill Venners, April 15, 1997 1 message
Mobile agents have been around for many years, but they haven't yet entered the mainstream. This article takes a look at aglets, a mobile-agent technology built on top of Java.
by Bill Venners, March 15, 1997 Submit comment
All Java programs are compiled into class files that contain bytecodes, the machine language of the Java virtual machine. This article takes a look at how control flow is handled by the Java virtual machine, including the relevant bytecodes.
by Bill Venners, February 15, 1997 Submit comment
All Java programs are compiled into class files that contain bytecodes, the machine language of the Java virtual machine. This article takes a look at the way finally clauses are handled by the Java virtual machine, including an examination of the relevant bytecodes.
by Bill Venners, January 15, 1997 Submit comment
All Java programs are compiled into class files that contain bytecodes, the machine language of the Java virtual machine. This article takes a look at the way exceptions are handled by the Java virtual machine, including the exception table and the bytecodes related to exceptions.