Java security: How to install the security manager and customize your security policy

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. This article turns to one aspect of that security model: the security manager of the...

Security and the class verifier

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. This article turns to one aspect of that security model: the class verifier of the...

Security and the class loader architecture

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...

How the Java virtual machine performs thread synchronization

The last article in an Under the Hood series on Java bytecode, this article by Bill Venners covers threads, shared data, locks, and more!

How the Java virtual machine handles method invocation and return

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....

Solve real problems with aglets, a type of mobile agent

Mobile agents have been around for many years, but they haven't yet entered the mainstream. Last month's Under The Hood described the inner workings of aglets, a mobile-agent technology built on top of Java. This article answers the...

How the Java virtual machine handles exceptions

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...

Objects and arrays

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 bytecodes that manipulate objects and arrays. (2,500 words)

Floating-point arithmetic

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 the bytecodes that implement the floating-point capabilities of Java. (2,500 words)...

Bytecode basics

All Java programs are compiled into class files that contain bytecodes, the machine language of the Java virtual machine. Here's a first look at Java's bytecodes. (3,500 words)

The Java class file lifestyle

A key component of Java is the Java class file -- a precisely defined file format to which Java programs are compiled. The class file can be loaded by any Java Virtual Machine implementation and is the vehicle for the transmission of...

The lean, mean, virtual machine

A key component of Java is the Java Virtual Machine -- a virtual computer, typically implemented in software on top of a "real" hardware platform and operating system, that runs compiled Java programs. Thanks to the JVM, programs...