Kategorie-Archiv: Ausbildung

Memory für Eclipse: Out of Memory Exception

Für Performance-Messungen beim Abfüllen, Durchsuchen oder Löschen von Listen, Trees oder Maps habe ich ein kleines Java-Programm geschrieben, welches alle Aktionen misst und ausgibt. Eigentlich nichts grosses, doch bei den 10 Millionen Instanzen, welche ich für ein aussagekräftiges Resultat brauche, kommt meine Maschine schnell ans Limit und Reklamiert mit einem Runtime-Error in Form einer “Out of Memory Exception”. Das liegt daran, dass Eclipse einem Programm nur sehr begrenzt Memory zur Verfügung stellt (ich glaube gerade mal 256 MB) und dies bei 10 Millionen Instanzen nicht ganz ausreicht.

Also muss ich auf meinem Mac das Programm mit mehr Memory starten, und das geht ganz einfach und unkompliziert über Eclipse. Einfach unter Run > Run Configurations folgende Werte eintragen:

memory

Nun, nochmals ausführen und schon läuft alles durch. Das Programm werde ich samt Ergebnis vielleicht auch noch kurz veröffentlichen, mal schauen, was rauskommt.

Schiffe versenken in Java

Als Prüfungsvorbereitung kämpfe ich mich zur Zeit ein kleinwenig mit Java ab. Zum Glück noch nichts mit GUI, etc, einfach Java Basics, wie in den letzten zwei Büchern, die ich vorgestellt hatte. Im Zuge dieser Vorbereitung ist ein Programm entstanden, dass ich euch nicht vorenthalten möchte, vielleicht gibt es ja die eine oder andere Verbesserung oder Kritik, oder es hilft sonst jemandem auf seinem Weg.

Das Projekt besteht aus drei Klassen: Game, für die Hauptklasse, Schiffe, für die Schiffe und Feld, für die einzelnen Felder.
Die Schiffe-Klasse beinhaltet einen Namen und da Arrays immer so viel Vorplanung voraussetzen, eine Arraylist:

import java.util.ArrayList;

public class Schiffe {
	int name;
	ArrayList<Feld> position = new ArrayList<Feld>();
}

Auch die Feld-Klasse ist ganz schlicht, nur mit einem zusätzlichen Konstruktor:

public class Feld {
	int x;
	int y;
	int orientation;
	
	public Feld(int x, int y) {
		this.x = x;
		this.y = y;
	}
}

Interessant wird es in der Game-Klasse. Es gibt eine Methode positioning(), welche die Schiffe setzt. Darin werden auch gleich doppelt belegte Felder geprüft. Weiter gibt es eine Methode play(), welche für die Spieler 1 und 2 nacheinander die Methode shoot() aufruft, und darin gleich die Referenzen auf die Feld- und zum Schluss auch noch auf die Schiff-Objekte löscht. Ist ein Schiff versenkt, so wird die Methode win() aufgerufen, welche checkt, ob jemand gewonnen hat und bei bedarf, das Spiel unterbricht. Gar nicht so kompliziert oder? ;)

Weiterlesen

Studieren auf einer Baustelle

Soeben bin ich über ein Plakat gestolpert von der Fachhochschule, an welcher ich aktuell studiere:

Für alle, die es nicht lesen können, zitiere ich:

Wir werden Lehrerinnen und Lehrer und studieren im neuen Campus Brugg-Windisch

Schon interessant, die beiden Models auf dem Plakat studieren am neuen Campus Brugg-Windisch. Ich würde mir irgendwie komisch vorkommen ohne Strom und Heizung zu studieren:

Am Hauptsitz der vierkantonalen Fachhochschule Nordwestschweiz FHNW errichtet der Kanton Aargau den Campus Brugg-Windisch. Mit einem Investitionsvolumen von rund 400 Millionen Franken bietet er im Endausbau Platz für rund 3’000 Studierende und 1’000 Dozierende. Die Inbetriebnahme erfolgt im Herbst 2013.

Und irgendwie könnte die fehlende Inneneinrichtung auch ein bisschen störend wirken:

Natürlich wird das Zielpublikum, welches man erreichen möchte, im nächsten Herbst am neuen Standort studieren können, doch fand ich es trotzdem amüsant, dass man schon heute damit wirbt. :)

Wer mehr vom neuen Campus sehen möchte, kann sich das Panorama anschauen.

Dropbox eröffnet den Kampf der Schulen

Dropbox, den Cloud-Dienst, welcher sicherlich jeder kennt oder eigentlich jeder kennen sollte, bläst nun zum grossen Kampf der Schulen:

Jeder Teilnehmer bekommt dabei für 2 Jahre ganze 3 GB an Gratisspeicher geschenkt, alleine für eine Teilnahme. Zusätzlich gibt es für jeden auch noch den gesamten Speicher geschenkt, welche die Schule als ganzes verdient hat. Insgesamt können so 25 GB zusätzlicher Dropbox Speicher gratis und franko “verdient” werden – und das nur durch nichts tun!

Wer das auch möchte, hier gibt es weitere Infos!