In this section, we present a detailed energy analysis of the SPEC JVM98 benchmarks. We first present the overall energy picture. Then, we zoom in on two codes, javac and db, and investigate their energy behavior by modifying different cache parameters such as cache size and associativity. These experiments give us the hardware view of energy consumption; i.e., they help us answer the question of which parts of the memory system consume the most energy. Subsequently, we present an energy breakdown for the benchmarks from the software viewpoint. This helps us understand which software components consume the most energy. Experiments are conducted for both JVM implementation styles: interpreter mode and adaptive dynamic compilation mode (JIT mode).