This chapter presents a dynamic denotational semantics of the Java programming language. This semantics covers almost the
full range of the base language, excluding only concurrency and the API’s. A discussion of these limitations is provided in
the final section of the chapter.