Codeoptimierung in Java
Pavlos Kosmetatos
Lead Engineer @Wealthyhood

StackOverflowError, wenn Größe überschritten wirdnew erzeugt ein Objekt und legt es im Heap abpublic void processData() { int count = 0; // StackString name = "Java"; // HeapList<String> items = // Referenz im Stack new ArrayList<>(); // Objekt im Heapitems.add(new String("Item")); // Objekt im Heap }
// Ineffizient
List<String> list1 = new ArrayList<>();
for (int i = 0; i < 1000; i++) {
String s = new String("value"); // 1000 Objekte
list1.add(s);
}
// Besser
List<String> list2 = new ArrayList<>();
String s = "value"; // Ein einzelnes Objekt
for (int i = 0; i < 1000; i++) {
list2.add(s);
}
Codeoptimierung in Java