Gibt es ein kanonisches Buch zum Erlernen von Java als erfahrener Entwickler? [geschlossen]

28

Ich bin jetzt seit ungefähr 5/6 Jahren ein .NET-Entwickler. Ich habe noch nie eine professionelle Java-Entwicklung gemacht und das letzte Mal, als ich sie wirklich berührte, war es wahrscheinlich wieder am College. Ich habe ein bisschen mit der Scala-Sprache gespielt, aber nichts Ernstes. Kürzlich wurde mir die Gelegenheit geboten, ein paar ziemlich coole Arbeiten zu machen, aber Java anstelle von .NET zu verwenden. Ich glaube, ich komme mit meinen derzeitigen Fähigkeiten klar. Das heißt, ich kann bereits gut programmieren und kenne mich mit Sprachen wie C # und C ++ usw. aus. Die Syntax und all das Sprachmaterial sind also wirklich kein Problem. Was ich brauche, ist ein wirklich gutes Nachschlagewerk und ein Buch darüber, wie man in Java denkt. Jede Sprache / Framework / Stack versucht, die Dinge auf eine bestimmte Weise anzugehen, und ich bin mir sicher, dass Java nicht anders ist.

Was sind einige großartige Java-Bücher, ohne die Sie einfach nicht leben können? Gibt es Bücher über die wichtigsten Teile von Java, die vor allem verstanden werden müssen?

Als Randnotiz mache ich hauptsächlich Java-Web-Entwicklung. Nicht wirklich 100% davon, welche Arten von Dingen sie für Persistenz, Framework, Server usw. verwenden.

Nodey The Node Guy
quelle
2
Von einem Web- Standpunkt aus vom .NET-Stack zum Java-Stack zu kommen, wird die Hölle sein. Sie werden .NET sehr vermissen. Das, das, jthingamgig. Nur meiner Meinung nach ist es das, was es wert ist.
@ Sergio: Nicht was ich hören wollte !!! LOL
Nodey The Node Guy
1
@ Sergio - Steven, für dein Wohlbefinden bin ich nicht einverstanden. Java hat seine Probleme, aber ich denke, es ist am besten im Web.
Nicole
1
siehe hier: stackoverflow.com/questions/75102/…
Matthieu
1
Mögliches Duplikat - programmers.stackexchange.com/questions/32591/…
ChrisF

Antworten:

19

Als Referenz würde ich nur die offiziellen Sun (jetzt Oracle) -Stoffe wie die Tutorials und JavaDocs empfehlen. Obwohl sie für Anfänger gedacht sind, sind sie oft so gut organisiert, dass es für einen Experten leicht ist, das zu finden, was sie benötigen.

Effective Java von Bloch ist ein großartiges Buch zum Verständnis der weniger trivialen Aspekte (und insbesondere der Generika).

Die zusätzlichen Materialien hängen wahrscheinlich vom verwendeten Java-Stack ab - J2EE, Spring, GWT, Gui-Toolkit usw.

Uri
quelle
11

Sun Certified Java Programmer

SCJP für Java 6

Ich kann dieses Buch nur empfehlen, um einem bereits kompetenten Entwickler eine umfassende Anleitung für die Inbetriebnahme zu geben.

Diese Frage ähnelt der Frage Beste Methode zum Erlernen von Java, wenn Sie bereits einen OOP-Hintergrund wie ActionScript 3 haben. wo ich sagte:

Sie haben erwähnt, dass Sie kein Buch wollen, in dem Dinge behandelt werden, die Sie bereits kennen. Ich empfehle SCJP für Java 6 Study Guide . Ich habe dieses Buch (die Java 5-Version) für den Test studieren lassen, und obwohl ich es bereits kannte und in Vollzeit mit Java arbeitete, hat es meine Intelligenz nicht beleidigt, auch wenn ich die grundlegenden Grundlagen der Sprache durchgegangen bin.

Obwohl ich bereits kompetent war, lernte ich wichtige Details zur Sprache im gesamten Buch, einschließlich spezifischer Details zu den Zugriffsschlüsselwörtern, dem Polymorphismus sowie der überlasteten Methodenpriorität, die durch das Hinzufügen von Generika und Auto-Boxing viel wichtiger wurden.

Von dort aus möchten Sie vielleicht tatsächlich den Test machen (obwohl es für einen Arbeitgeber bei 200-300 USD besser ist, ihn für Sie zu subventionieren, was auch immer es jetzt ist). Für den nächsten Einstufungstest , SCJD (D für Entwickler), müssen Sie ein Basisprogramm mit einem Back- und Front-End implementieren. Dies ist ein guter Weg, um ein einfaches, kleines (20-40 Stunden), gut funktionierendes Programm zu erhalten. definiertes Projekt zum Aufschneiden.

Nicole
quelle
1
Als Leser dieses Buches kann ich es nur empfehlen, da es viele Insider-Informationen zu Java enthält, die ich noch nie in einem Buch gesehen habe, ohne für den Anfänger frustrierend zu sein, obwohl es kein Buch für ihn ist Absolute Programmieranfänger, jeder mit guten Programmierkenntnissen kann dieses Buch ohne Probleme lesen
Mahmoud Hossam
@Phobia - es ist schwer zu beschreiben, wie gut es sowohl für Anfänger als auch für Veteranen sein kann, aber es ist richtig?
Nicole
Ja, sehr
Mahmoud Hossam
9

Effektives Java von Joshua Bloch ist ein Muss. Interessante Diskussion einiger nicht-trivialer Teile der Sprache.

Ich habe auch gutes Zeug über Goetz "Java Concurrency in Practice" gehört, aber ich habe es nicht selbst gelesen.

Richard Miskin
quelle
5

Wenn Sie ein Begleiter werden möchten, empfehlen Sie das Goetz et. al. Java-Parallelität in der Praxis . Wenn Sie auf eine höhere Ebene der Aufklärung von Nebenläufigkeiten aufsteigen möchten, ist Maurice Herlihys Kunst der Multiprozessor-Programmierung erstklassig und enthält umfangreichen Java-Code. (Siehe auch die SO-Diskussion ... beachten Sie, dass diese Frage geschlossen wurde, aber die Antworten immer noch nützlich sind.)

andersoj
quelle
Ich habe gerade dieses Buch durchgelesen und es hat mein Verständnis tiefgreifend beeinflusst.
Nodey The Node Guy
Alle 3 von Ihnen angegebenen Links haben keine Daten, die letzten 2 sind tot, der erste befindet sich im Aufbau.
Wir sind Borg
Sie könnten vorgeschlagene Lösungen anbieten ... aber ich habe mich um die ersten beiden gekümmert; das letzte, das ich verlassen habe, da es auf eine Frage zum Stackoverflow verweist, die geschlossen / gelöscht ist, aber Sie können immer noch mit genügend Brownie-Punkten sehen und die Antworten sind immer noch interessant.
Andersoj
4

Hat nicht gerade viel speziell für die Webentwicklung zu tun, aber "Effective Java" von Joshua Bloch ist meiner Meinung nach ein Muss:

Link zu Amazon

ftr
quelle
0

Entscheiden Sie sich genau wie Uris Antwort für offizielle Sun Docs und Effective Java, um tiefer in die Sprache einzusteigen.

Dann fahren Sie fort mit Play Docs und Büchern, wie dem Play Framework E-Book Play Framework Cookbook . Hier finden Sie ein Beispielkapitel

Es nützt nichts, sich mit dem Standard-Webentwicklungsstapel von j2ee (Sie wissen, Spring, Struts, Tomcat, JSF usw.) zu beschäftigen, da das Spielen bei der Webentwicklung einen ganz anderen Ansatz verfolgt ... wenn Sie aus Gründen der Persistenz den Ruhezustand wählen Ich würde empfehlen, sich die Dokumente von hibernate anzuschauen

opensas
quelle