Some Java applications fail to provide reasonable quality of service despite achieving other performance goals, such as average latency or overall throughput. This article explains the root causes of delays and interruptions in a JVM and describes techniques you can use to mitigate them so that your applications deliver more consistent service quality.