Diferencia entre Arrays.asList (array) y la nueva ArrayList <Integer> (Arrays.asList (array))

Cuál es la diferencia entre

1.List<Integer> list1 = new ArrayList<Integer>(Arrays.asList(ia));  //copy
2.List<Integer> list2 = Arrays.asList(ia);

dóndeia&nbsp;Es una matriz de enteros.

Llegué a saber que algunas operaciones no están permitidas enlist2. ¿por que es esto entonces? ¿Cómo se almacena en la memoria (referencias / copia)?

Cuando mezclo las listas,list1&nbsp;no afecta a la matriz original, perolist2&nbsp;hace. Pero aúnlist2&nbsp;es algo confuso

CómoArrayList&nbsp;ser actualizado a la lista difiere de la creación de nuevosArrayList

list1 differs from (1)
ArrayList<Integer> list1 = new ArrayList<Integer>(Arrays.asList(ia));