Pregunta básica de Java: igualdad de cuerdas

public class A {

    static String s1 = "I am A";

    public static void main(String[] args) {
        String s2 = "I am A";
        System.out.println(s1 == s2);
    }
}

Por encima de las salidas del programa "verdadero". Ambos son dos identificadores / objetos diferentes, ¿cómo la salida es "verdadera"?

Mi entendimiento es que la JVM creará una referencia diferente para cada objeto, si es así, ¿cómo es verdadera la salida?

Respuestas a la pregunta(5)

Su respuesta a la pregunta