Vergleichen Sie die Leistung der folgenden Codeausschnitte, die Elemente von einem Integer-Array in ein int-Array und umgekehrt kopieren, einschließlich des Falls, in dem neue Integer-Objekte aus int-Werten erstellt werden:
```java
int SIZE = 1000000;
int[] x = new int[SIZE];
Integer[] y = new Integer[SIZE];
for (;;) {
for (int i = 0; i < SIZE; ++i) {
x[i] = y[i];
}
}
```
```java
int SIZE = 1000000;
int[] x = new int[SIZE];
Integer[] y = new Integer[SIZE];
for (;;) {
for (int i = 0; i < SIZE; ++i) {
y[i] = x[i];
}
}
```
```java
int SIZE = 1000000;
int[] x = new int[SIZE];
Integer[] y = new Integer[SIZE];
for (;;) {
for (int i = 0; i < SIZE; ++i) {
y[i] = new Integer(x[i]);
}
}
```
Analysieren und erklären Sie die Unterschiede in Leistung und Verhalten zwischen diesen Ansätzen.