# Eclipse hängt sich alle paar Sekunden auf (Keine Rückmeldung).



## Zoja (13. Feb 2015)

Hallo alle zusammen! Ich lerne gerade für meine Info 1 Klausur und bin bei den dynamischen Datenstrukturen angekommen, probiere parallel alles, was in den Folien steht bei Eclipse aus, d.h. es sind immer Miniprogramme, eher Codeschnipsel. 

Habe jetzt 3 Klassen zu simplen Listen erstellt und seit dem hängt sich Eclipse nur noch auf.
Neustarten hat nichts gebracht, habe die Klassen mittlerweile alle auskommentiert, dennoch hängt sich Eclipse immer auf und ist extrem langsam, zu dem ist das jetzt auch der ganze Rechner, die Folien laden auch nicht mehr, auch wenn das Nichts mit Eclipse zu tun hat... Hat jemand eine Ahnung was passiert ist? Ich kann jetzt nichts mehr machen auf Eclipse... 

Google und Forensuche haben jetzt nicht viel gebracht. Ich meine ja meine Programme brauchen kaum Speicher. Warum sollte das denn von der einen auf die andere Sekunde meine ganzen Lapi larm legen?

Gruß
Zoja

Hier nochmal die Klassen:

```
package Dynamische_Datenstrukturen;
/*
public class TestList {
	public static void main(String args[]) {
		List l;
		l = new List();
		l.insert(new Node(1));
		l.insert(new Node(4));
		l.insert(new Node(5));
		l.insert(new Node(2));
		l.dump();
		l.delete(5);
		l.dump();
	}
}
*/

/*
public class List {
	public Node head = null;

	// Wie das einfügen funktioniert ist klar: head muss oben null sein, sagen
	// wir mal wir wollen eine 3 einfügen, dann
	// wird n = 3 und next von 3 ist dann null, weil wir ja gesagt haben, dass
	// head erstmall null ist, also 3 -> null, jetzt
	// setzten wir den head auf n, also auf 3, falls wir jetzt eine weitere Zahl
	// einfügen wollen, z.b. 7, dann wird n = 7 und
	// der next von 7 ist wieder der head, also die 3, (7 -> 3 -> null) head
	// wird zu 7 usw.
	public void insert(Node n) {
		n.next = head;
		head = n;
	}

	public Node search(int key) {
		Node current = head;
		while (current != null) {
			if (current.element == key)
				return current;
			current = current.next;
		}
		return null;
	}

	public void delete(int key) {
		Node current = head;
		if (head.element == key) {
			head = head.next;
			return;
		}
		while (current.next != null) {
			if (current.next.element == key)
				current.next = current.next.next;
			current = current.next;
		}
	}
	public void dump() {
		
	}
}*/




public class Node {
	public int element = 0;
	public Node next = null;

	// Konstruktor 1
	public Node(int e, Node n) {
		element = e;
		next = n;
	}

	// Konstruktor 2
	public Node(int e) {
		element = e;
	}

}*/



/*
 * Noch ral ich kaum was, Okay: also wir deklarieren einen head und erstellen die erste Node, 1, null, diese zeigt erstmal auf null
 * jetzt deklarieren wir eine node, die 2 ist und auf den head zeigt, also auf die 1 (2 -> 1). Achtung jetzt sagen wir, dass die
 * node der head ist (head = node) d.h. (h)2 -> 1 und es wird die 3 eingefügt, die auf den head zeigt, also die 2
 * 3 -> (h)2 -> 1, am Ende sagen wir, dass node = head ist, d.h. die 3 ist der head (h)3 -> 2 -> 1. Um alles auszugeben:
 * setzten wir den current = head, d.h. 3 und solange man keinen Zeiger auf null hat wird immer die .next ausgegeben.
 */
/*
public class SimpleList {
	public static void main(String args[]) {
		Node head;
		Node node;
		Node current;
		// Liste aufbauen, immer am Kopf einfügen
		head = new Node(1, null);
		node = new Node(2, head);
		head = node;
		node = new Node(3, head);
		head = node;
		// Ausgabe der Liste
		current = head;
		while (current != null) {
			System.out.println("Element=" + current.element);
			current = current.next;
		}
		
		
	}
}*/
```


----------



## coco07 (13. Feb 2015)

Hey Zoja,

ich kann mir nicht vorstellen, dass diese Probleme etwas mit deinem Programm zu tun haben. Da Java Programme in einer virtuellen Maschine laufen würden diese automatisch gekickt werden, wenn zu viel Ram dabei drauf geht. Ist dein PC evtl. etwas überfordert? Was sagt denn der Task-Manager zur Auslastung deiner CPU und wieviel RAM sind noch frei?

grüße coco07!


----------



## Zoja (13. Feb 2015)

coco07 hat gesagt.:


> Hey Zoja,
> 
> ich kann mir nicht vorstellen, dass diese Probleme etwas mit deinem Programm zu tun haben. Da Java Programme in einer virtuellen Maschine laufen würden diese automatisch gekickt werden, wenn zu viel Ram dabei drauf geht. Ist dein PC evtl. etwas überfordert? Was sagt denn der Task-Manager zur Auslastung deiner CPU und wieviel RAM sind noch frei?
> 
> grüße coco07!



Okay da kenne ich mich nicht so aus, habe auch noch nie angeschaut, aber CPU steht gerade bei 100%, das ist wohl nicht so gut, aber dennoch traten alle Probleme auf mir nicht dir nichts, als ich mit Eclipse gearbeitet habe, packt mein Lapi das nicht mehr?

hier die Auslastung:
Anhang anzeigen 7439
Und das scheint mir auch nicht so in Ordnung zu sein, ist aber java:


----------



## Network (13. Feb 2015)

Du hast im Moment 5 JVMs am laufen, davon haben 4 in etwa die selbe Auslastung.
Das deutet daraufhin das du deine Programme nicht sauber beendest, achte darauf entsprechende Methoden im Code einzubauen oder am Ende das rote Rechteck in Eclipse zu klicken.
Unwahrscheinlich das bei der geringen Belastung die diese Programme einnehmen sich in diesem Fall signifikant etwas ändert, es sei denn die Programme blockieren konstant irgendetwas, wie z.b. 100% CPU oder beanspruchen die Festplatte oder RAM dann können dadurch andere Programme blockiert werden.

Eclipse ist zudem extrem Ressourcenhungrig. Ein Arbeits-PC mit 4Gig und 2/4Kernen ist empfehlenswert wenn auch nicht notwendig. Habe Eclipse schon auf schwächeren Laptops betrieben, da hat sich das aber auch immer kurz aufgehangen bei manchen Aktionen.

Könnte so erstmal aber an allem liegen. Ist schwer zu sagen.


----------



## Zoja (13. Feb 2015)

Okay danke Leute, es lag an den ganzen Prozessen, hab das jetzt geklärt und werde da in Zukunft drauf achten! 
Vielen Dank nochmal, ich lerne mal weiter.


----------

