Als Programmierer mit Java beginnen: Wo?

Status
Nicht offen für weitere Antworten.
M

Mindphuk

Gast
Hi.

Ich habe gerade etwas Zeit und mir überlegt, ich könnte mich ja weiter bilden. Das würde ich gerne mit Java tun.
Ok, so habe ich mich auf der Suche nach Büchern und Tutorials gemacht, aber alles nach einer Weile wieder weggeworfen. Ich programmiere schon seit einer Weile. Zuerst "Wurstcode" mit Perl, dann bin ich in die OOP eingestiegen mit PHP5, womit ich auch an größeren Projekten gearbeitet habe, Usersysteme, Backends, Frameworks (mit Drupal et al)... Aus diesem Grunde bin ich in der objektorientierten Programmierung auch kein Einsteiger mehr.
Das ist auch der Grund, warum ich mit den ganzen Anfänger-Turorials nicht viel anfangen kann, denn ich finde es halt nicht sehr spannend, seitenweise über Klassen, Vererbungen, Objekte zu lesen. Die Grundstrategien von OOP sind halt überall gleich.

Vielleicht könnt ihr mir ja mal etwas helfen, wo ich lesenswertes über Java finde, das nicht beim OOP-Urschleim anfängt, aber sich auch nicht gerade auf dem Java-Guru-Level bewegt. Eben praktische Literatur oder Tutorials für Programmierer, die schon andere Sprachen kennen, mit Java aber trotzdem Neuland betreten...

Danke für eure Tipps[/i]
 

Landei

Top Contributor
Ich würde dir dringend raten, das Anfängerzeugs nicht leichtfertig zu überspringen.

Java setzt OO anders und viel konsequenter um als PHP: statische Typprüfung, (fast) alles ist ein Objekt oder eine Klasse, es gibt Konzepte wie innere Klassen oder Generics, die es in PHP nicht gibt. Außerdem ist Java bei weitem nicht so sehr auf Webanwendungen ausgelegt wie PHP.

Es ist wichtig, die Grundkonzepte von Java wirklich zu verstehen, sonst schreibst du bloß "PHP-Java".

Versuche selber, einfache Probleme in Java zu lösen, und stelle die Programme hier zu Diskussion. Du wirst dich wundern, wieviel nützliche Tipps du bekommen wirst (jedenfalls wesentlich mehr als die Hausaufgaben-Schnorrer-Fraktion)
 
M

Mindphuk

Gast
Hi danke für die Antwort.

Ja, ich weiss, das Java OOP erzwingt (ob man dann deren Vorteile nutzt oder nicht) und PHP "nur" ermöglicht. Ich habe auch schon mit strikt typisierten Sprachen gearbeitet (nicht nur mit PHP5).
Die Grundkonzepte wollte ich "on the fly" lernen. Meine Hauptinteressen sind Netzwerkprobleme, Server/Client-Anwendungen, um's Web geht's mir dabei gar nicht mal so sehr.
Es ist nur so, dass es mich nicht sehr reizt, tagelang an einer Autoklasse die "brummbrumm" ausgibt herum zu spielen, wenn du verstehst was ich meine...
 

voidee

Mitglied
das beste Tutorial ist immer noch eine kleine Aufgabe, z.B.

// Eher schon niveauvoll //
- setze eine Java Prozess auf, der als Server fungiert (RMI)
- setze eine Client Prozess auf, der eine Verbindung zum Server herstellt und sende dem Server einen String ("Hallo Welt")
- der Server Prozess gibt diese Nachricht auf der Konsole aus
- und/oder der Server Prozess publiziert diese Nachricht an weitere Clients (alle vom obigen Typ)

- baste für die Clients eine kleine GUI mit Textfeld zur Eingabe, Button zum Senden und Textarea zur Ausgabe der Nachrichten von anderen Clients

Schon hast du einen rudimentären Chat-Server + Clients

// GUI Übung //
- entwickle einen simplen Taschenrechner

// JTable //
- nimm eine JTable und stelle in der Tabelle je Zeile "Name", "Vorname", "Strasse", "Nr" dar
- mach die Zelleninhalte editierbar

// JTable - EXTENDED //
- speichere und lade die Daten in/aus einer Datei
 
M

Mindphuk

Gast
Okay, ich hab jetzt mal einwenig rumgespielt und bin dann auf die Idee gekommen, einen HTTP-Proxy-Server in Java zu schreiben. Dafür habe ich im Netz gesucht und Codeteile aus Examples ausprobiert. Leider rauscht der mir immer ab mit einer EOFException. Mit dem Debugger habe ich rausgefunden, wo die passiert, aber das hilft mir auch nicht weiter...

Also, ich schaffe es, die Daten vom Client ein zu lesen, und kriege heraus, wo der Browser hin will. So ziehe ich mir aus dem Request den Ziehlhost und -port und versuche dahin zu connecten. Beim initialisieren des IO zum remote Server kommt es jetzt aber zu der EOFException. Vielleicht weiss ich einfach noch zu wenig über Streams, aber auch nachlesen hilft mir nicht weiter...

Ich poste hier mal die Server-Methode:

Code:
public class SimpleProxyServer {

  private String host = null;
  private int remoteport = 80;
  private int localport = 8080;
  private ServerSocket localServer;
  private Socket remoteServer = null;
  private Socket theirClient = null;
  private ObjectInputStream streamFromServer;
  private DataOutputStream streamToServer;

  public SimpleProxyServer(){
      System.out.println("Starting proxy on port " + localport);
      runServer(localport); // never returns
  }

  public void runServer(int localport){
        try{
            localServer = new ServerSocket(localport);
        } catch(IOException e) {
            System.err.println("Server failed: " + e);
        }
        System.out.println("Proxy listening at "+localport+". Waiting for connections...");

        while(true){
            try{
                theirClient = localServer.accept();

                //connection okay

                BufferedReader fromClient = new BufferedReader(
                        new InputStreamReader(theirClient.getInputStream()));
                ObjectOutputStream toClient =
                        new ObjectOutputStream(theirClient.getOutputStream());

                //read requests
                ArrayList request = new ArrayList();
                String requestLine = null;
                while(!(requestLine = fromClient.readLine()).isEmpty()){
                    //System.out.println("request: " + requestLine);
                    request.add(requestLine);
                }

                handleClientInput(request); //sets host and port

                System.out.println("Connecting to "+host+":"+remoteport);

                //connect to remote server
                remoteServer = new Socket(host, remoteport);

                streamFromServer =
                        new ObjectInputStream(remoteServer.getInputStream());
//Letzter Breakpoint den der Debugger erreicht
                streamToServer =
                        new DataOutputStream(remoteServer.getOutputStream());
//Hier passiert nichts mehr, nach einer Weile steigt er aus dem try aus mit einer java.io.EOFException

                for(int i = 0; i < request.size(); i++){
                    System.out.println("requestline "+i+" of "+request.size()+" to server: " + request.get(i).toString());
                    streamToServer.writeChars(request.get(i).toString());
                    streamToServer.flush();
                }

                //send response to client
                String responseLine = null;
                while((responseLine = streamFromServer.readUTF()).isEmpty()){
                    System.out.println("From server:" + responseLine);
                    //...
                }
                
                toClient.close();
                fromClient.close();
                theirClient.close();
                remoteServer.close();
            } catch(IOException e){
                System.err.println(e);
            }
        }
    }
//....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
U Threads ausbildung java programmierer Java Basics - Anfänger-Themen 3
M Weiterbildung zum Java Programmierer Java Basics - Anfänger-Themen 15
C eine dringende bitte an alle java-programmierer Java Basics - Anfänger-Themen 4
W GoF-Pattern im Programmierer-Alltag Java Basics - Anfänger-Themen 113
B Erste Schritte Learning Coding (!) Frage an erfahrene Programmierer. Java Basics - Anfänger-Themen 23
A Suche Programmierer für Android App Java Basics - Anfänger-Themen 1
J Probleme mit drucken aus Java Java Basics - Anfänger-Themen 3
Gokul Java chart library suggestion for web application? Java Basics - Anfänger-Themen 2
D wie kann ich gcc aus einer .java datei heraus aufrufen? Java Basics - Anfänger-Themen 2
S Text Formatierung in Java Java Basics - Anfänger-Themen 2
B Erste Schritte yaml parsen in Java Java Basics - Anfänger-Themen 19
C Methoden Umlaute in Java Java Basics - Anfänger-Themen 18
W Java-PRogramm liest als EXE-File Nicht USB, jedoch aus NetBeans Java Basics - Anfänger-Themen 45
W Methoden java map ersatz für c++map Java Basics - Anfänger-Themen 3
M Erste Schritte Java Primzahltester Java Basics - Anfänger-Themen 4
A csv Reader für Java? Java Basics - Anfänger-Themen 27
K Java - Enums Java Basics - Anfänger-Themen 30
tomzen Java Unterstützung für exel dateien installieren. Java Basics - Anfänger-Themen 2
Rookar java.lang.NoClassDefFoundError: org/json/JSONException Java Basics - Anfänger-Themen 2
Rookar Mit Button andere java öffnen Java Basics - Anfänger-Themen 4
F Java Object to Hashmap ? Java Basics - Anfänger-Themen 6
I Backend in Java und Ansicht von Dateien in statische HTML Seiten? Java Basics - Anfänger-Themen 15
R Input/Output Verwendung des Euro-Zeichens in Java Java Basics - Anfänger-Themen 7
I Push Nachrichten von JAVA EE App an Mobile App Java Basics - Anfänger-Themen 3
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
G Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
G Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben