¿Las variables locales en métodos estáticos también son estáticas?

Me pregunto si todas las variables locales se vuelven estáticas si las declaramos en un método estático.

por ejemplo:

  public static void A(){
        int x [] = {3,2};
        changeX(x);

        for (int i = 0; i< x.length; i++){
             System.out.println(x[i]);   // this will print -1 and 1
        }
  }
  private static void changeX(int[] x){
        x[0] = -1;
        x[1] =  1;
  }

Por lo que entiendo que Java siempre se pasa por valor, pero ¿por qué el estado de X ha cambiado después de que hicimos la llamada changeX? ¿Alguien puede explicar eso por favor? ¿Alguien puede explicar cómo lidia Java con las variables estáticas en términos de asignación de memoria? y qué sucede si pasamos una variable estática a una función como parámetro (sé que la gente normalmente no hará eso)

Respuestas a la pregunta(3)

Su respuesta a la pregunta