Using hardware performance monitors to understand the behavior of Java applicationsPeter F. SweeneyMatthias Hauswirthet al.2004VM 2004