Comparando matrizes inteiras em Java. Por que não == funciona?

Estou aprendendo Java e acabei chegando com este fato sutil sobre a linguagem: se eu declarar duas matrizes inteiras com os mesmos elementos e compará-los usando== o resultado éfalse. Por que isso acontece? Não deve a comparação avaliar atrue?

public class Why {

    public static void main(String[] args) {
        int[] a = {1, 2, 3};
        int[] b = {1, 2, 3};

        System.out.println(a == b);
    }

}

Desde já, obrigado!