CHAPTER 12
We must all hang together, or assuredly we shall all hang separately.
Benjamin Franklin (July 4, 1776)
This chapter specifies activities that occur during execution of a Java program. It is organized around the life cycle of a Java Virtual Machine and of the classes, interfaces, and objects that form a Java program.
A Java Virtual Machine starts up by loading a specified class and then invoking the method main
in this specified class. Section §12.1 outlines the loading, linking, and initialization steps involved in executing main
, as an introduction to the concepts in this chapter. Further sections specify the details of loading (§12.2), linking (§12.3), and initialization (§12.4).
The chapter continues with a specification of the procedures for creation of new class instances (§12.5); finalization of class instances (§12.6); and finalization of classes (§12.7). It concludes by describing the unloading of classes (§12.8) and the procedure followed when a virtual machine exits (§12.9).