This document provides an overview of JAXB (Java Architecture for XML Binding). It discusses the goals, history and evolution of JAXB from versions 1.0 through 2.2. It describes the key aspects of JAXB's architecture including using an XML schema or annotated Java classes to generate the other at compile time, and transforming between XML and Java objects at runtime. It also covers generating Java classes from an XML schema using the code generation tool xjc, and how binding declarations can be used to customize the code generation process.