¿Cómo funciona el interruptor de Java bajo el capó?

¿Cómo funciona el comando switch de Java bajo el capó? ¿Cómo compara el valor de la variable que se está utilizando, con los dados en las partes del caso? Hace uso== o.equals(), o es algo completamente distinto?

Estoy interesado principalmente en las versiones pre 1.7.

Respuestas a la pregunta(7)

Su respuesta a la pregunta