Ein Must-Have-Buch, der für Java-Profis ausgestrahlt wird :
Jeder Programmierer hat einige Bücher, die oft abgenutzt sind, weil er oft als professionelle Materialien bezeichnet wird. Die folgenden Bücher sollten ein Muss im Bücherregal der Java-Sprachprogrammierer sein. Bücher sind teuer, daher mache ich diese Liste absichtlich kurz und auf wichtige Bücher beschränkt.
In Java denken (Bruce Eckel)
Denken in Java, 3. Auflage (Bruce Eckel; Prentice Hall PTR, 2002)
Java -Programmiergedanken : 3. Auflage (übersetzt von Chen Haopeng et al.; Maschinenindustrie Press, 2005)
Eckels Buch ist sehr nützlich, um zu lernen, wie man objektorientierte Technologie in einem Java-Gebietsschema verwendet. Eine große Anzahl von Codebeispielen im Buch erklärt das von ihm eingeführte Konzept. Der Text stammt von jemandem, der nicht der Meinung ist, dass die Java -Technologie immer die richtige Antwort ist, daher ist es ziemlich praktisch. Eckel verfügt über viel Erfahrung in mehreren Sprachen und solide Fähigkeiten, um objektorientiert zu denken. Dieses Buch bringt diese Fähigkeiten in ein praktisches Java -Gebietsschema. Er schreibt auch ein neues Buch namens Thinking in Enterprise Java.
Effektiver Java (Joshua Bloch)
Effektiver Java: Programmierleitfaden (Joshua Bloch; Addison-Wesley, 2001)
Effektive Java -chinesische Version (übersetzt von Pan Aimin; Maschinenindustrie Press, 2003)
Dieses Buch ist das beste Buch, um die Prinzipien der hervorragenden Java -Programmierung zu verstehen. Die meisten Materialien sind einfach nicht in anderen Büchern über "Lernen von Java" zu finden. Zum Beispiel ist das Kapitel über das Überschreiben gleich () in Blochs Buch eine der besten Referenzen, die ich je gelesen habe. Er hat auch sehr praktische Vorschläge in das Buch aufgenommen: Ersetzen Sie abstrakte Klassen durch Schnittstellen und verwenden Sie flexibel Ausnahmen. Bloch ist der Architekt der Java -Plattform -Bibliothek von Sun und hat ein gründliches Verständnis der Sprache. Tatsächlich schrieb er eine große Anzahl nützlicher Bibliotheken in der Sprache. Muss dieses Buch lesen!
Die Java -Programmiersprache (Ken Arnold, James Gosling, David Holmes)
Die Java-Programmiersprache (Ken Arnold, James Gosling, David Holmes; Addison-Wesley, 2000)
Java -Programmiersprache (3. Ausgabe) (übersetzt von Yu Wanrong et al., China Electric Power Press, 2003)
Dies ist vielleicht die beste Java -Einführung in Sie. Es ist keine Standardspezifikation, sondern ein lesbares Buch, das die Eigenschaften jeder Sprache einführt. Das Buch wiegt streng und pädagogisch gut und ermöglicht es den Programmierern, schnell von der Java -Sprache (und ihrer reichen Bibliothek) angezogen zu werden.
Gleichzeitige Programmierung in Java: Designprinzipien und Muster (Doug Lea)
Gleichzeitige Programmierung in Java: Designprinzipien und Muster, 2. Auflage (Doug Lea; Addison-Wesley, 1999)
Java gleichzeitige Programmierung - Entwurfsprinzipien und Muster (zweite Ausgabe) (übersetzt von Zhao Yong et al., China Electric Power Press, 2004)
Nicht jeder Entwickler muss ein so akribisches Verständnis der Parallelität haben, und nicht jeder Ingenieur kann das Niveau dieses Buches erreichen, aber es gibt keinen besseren Überblick über die Programmierung von Parallelität als dieses Buch. Wenn Sie daran interessiert sind, beginnen Sie hier. Lea ist ein professioneller Programmierer bei SUNY, und seine Werke und Ideen im Zusammenhang mit Parallelität sind in der JDK 5.0 -Spezifikation (zitiert von JSR166) enthalten, sodass Sie sicher sein können, dass sein Rat zur effektiven Verwendung von Java es wert ist, zuzuhören. Er ist eine sehr gute Kommunikationsperson.
Experte Eins-zu-Eins-J2EE-Design und -entwicklung (Rod Johnson)
Experte Eins-zu-Eins-J2EE-Design und -entwicklung (Rod Johnson)
WROX: J2EE -Design- und Entwicklungsprogrammleitfaden (übersetzt von Wei Haiping, Electronics Industry Press, 2003)
Für diejenigen, die neu in J2EE sind, ist dies das einzige Buch, das diese Technologie wirklich widerspiegelt. Dieses Buch enthält jahrelange Erfolgs- und Misserfolgserfahrung. Im Gegensatz zu vielen anderen Autoren ist Johnson gerne die Schuld -Erfahrung öffentlich. J2EE wird oft überbeansprucht. Johnsons Buch kann Ihnen helfen, dies zu vermeiden.
Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)
Refactoring: Verbesserung des Designs des vorhandenen Code (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts;
Addison-Wesley, 1999)
Refactoring: Verbesserung des Designs von vorhandenem Code (chinesische Version) (übersetzt von Hou Jie et al., China Electric Power Press, 2003)
Fowler hat einige der beliebtesten Programmierbücher geschrieben, die jetzt veröffentlicht wurden, einschließlich Analysemuster. Sein Buch über den Wiederaufbau ist das grundlegende Buch zu diesem Thema. Refactoring Code ist ein Training, das von Programmierern ignoriert wird, aber die intuitivste Idee für Programmierer. Refactoring besteht darin, das Design des vorhandenen Code zu verbessern, ohne die Codeergebnisse zu ändern. Dies ist der beste Weg, um Ihren Code aufgeräumt zu halten, und der Code, der auf diese Weise entworfen wurde, ist immer einfach zu ändern. Wann wird es neu gestaltet? Wenn der Code "einen Geschmack hat". Fowlers Buch ist voller Beispiele für Java -Sprachcode. Viele Java Language Integrierte Entwicklungsumgebungen (IDEs) (einschließlich der Eclipse von IBM) umfassen die Rekonstruktion von Fowler, und jeder wird mit seinem Rekonstruktionsnamen benannt. Daher lohnt es sich, mit Rekonstruktionsmethoden wie der Extraktmethode vertraut zu sein.
Designmuster (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)
Entwurfsmuster: Elemente der wiederverwendbaren objektorientierten Software (Erich Gamma, Richard Helm, Ralph Johnson, John Vlisides; Addison-Wesley, 1997)
Designmuster: Die Grundlagen wiederverwendbarer objektorientierter Software (übersetzt von Li Yingjun et al., Maschinenindustrie Press, 2005)
Dies ist ein Buch, das im Kreis der professionellen Programmierer berühmter ist. Basierend auf dem gemeinsamen Spitznamen des Autors gilt dieses Buch als "Gang of Four (GOF)". Muster sind eine Möglichkeit, sich wiederzuverwenden, wenn Sie über gewöhnliche Programmierprobleme nachdenken und sie lösen. Lernmodell ist ein Thema. Die Verwendung guter Modi (oder zu wissen, wann nicht verwendet werden soll) ist eine Fähigkeit. Das Muster zu ignorieren ist falsch. Alle Beispiele in dem Buch sind in C ++ dargestellt, aber die Java -Sprache wurde von dort geboren. Daher ist es relativ einfach, Java -Sprachprogrammierer mit der Implementierung dieser Muster in der Java -Sprache zu verbinden. Machen Sie sich mit Mustern vertraut und verstehen Sie, wie Sie gute Muster verwenden, um die Programmierung zu erleichtern. Dies erleichtert auch die Kommunikation mit anderen Programmierern, da in einer allgemeinen Lösung für häufige Probleme Muster Abkürzungen sind, um eine große Anzahl verwandter Programmierkonzepte in der Lösung zu beschreiben, die miteinander zusammenarbeitet. Einige allgemeine Methoden, wie z. B. Fabrikmethoden, existieren im Allgemeinen und existieren sogar in der Java -Sprache selbst. Für das Thema der Verwendung von Mustern mit weiser Verwendung können Sie auch Joshua Kerievskys Refactoring auf Muster lesen, die besagen, dass Sie Code Ihnen mitteilen können, wann Sie Muster implementieren sollen.
Muster der Unternehmensarchitektur (Martin Fowler)
Muster der Enterprise-Anwendungsarchitektur (Martin Fowler; Addison-Wesley, 2002)
Modell der Enterprise Application Architecture (übersetzt von Wang Huainin et al., Machinery Industry Press, 2004)
Im Vergleich zu kleinen und einmaligen Projekten stellt die Unternehmensentwicklung sicherlich eine größere Herausforderung dar. Das bedeutet nicht, dass alle Herausforderungen, die durch Unternehmensentwicklung mitgebracht werden, neue Herausforderungen sind. In der Tat wurde diese Entwicklung manchmal schon einmal abgeschlossen. Fowler hat viele solcher Projekte durchgeführt. Sein Buch erwähnt einige allgemeine Lösungen und bietet Anleitung zu Nutzung, Kompromissen und Optionen. Fowler enthält bekannte Muster im Buch, wie z. B. Modellansicht Controller (MVC), und bietet auch Muster, die Sie möglicherweise nicht verstehen, z. B. den Seitencontroller -Modus, der bestimmte Seitenanforderungen oder Verhaltensanforderungen auf einer Website bearbeitet. Wenn Sie die meisten Modi behandeln, denken Sie, sobald Sie viele Modi gelesen haben, "Ich kenne diesen Modus bereits." Vielleicht ist das der Fall, aber es ist hilfreich, einen gemeinsamen Ausdruck für Referenzmuster zu haben. Diese Klasse von Referenzen ist eine große Hilfe in großen Projekten mit mehreren Komponenten (entwickelt von verschiedenen Personen).
Uml destilliert (Martin Fowler)
UML Destilliert: Eine kurze Anleitung zur Standard-Objektmodellierungssprache (Martin Fowler; Addison-Wesley 2003)
UML Essence: Eine kurze Anleitung zur Standard -Objektsprache (3. Ausgabe) (übersetzt von Xu Jiafu, Tsinghua University Press, 2005)
Für professionelle Programmierer ist UML eine wichtige universelle visuelle Kommunikationssprache, wird aber überbeansprucht und voreilig. Sie müssen nicht viel über die Verwendung von UML -Kommunikation wissen. Martins Verfeinerung von UML bietet Ihnen die wichtigsten Dinge. In der Tat bieten vordere und hintere Abdeckseiten alles, was Sie regelmäßig verwenden können. Der Code für UML -Beispiele in diesem Buch ist Java -Code.
Testgetriebene Entwicklung: mit Beispiel (Kent Beck)
Testgetriebene Entwicklung: Beispielsweise (Kent Beck; Addison-Wesley 2002)
Testgetriebene Entwicklung (chinesische Version) (übersetzt von Cui Kai, China Electric Power Press, 2004)
Die Test-First-Programmierung wird die Programmierung revolutionieren und Ihnen helfen, ein besserer Programmierer zu werden. Das Schreiben eines Tests vor dem Schreiben von Code ist schwer zu beginnen, aber es ist eine leistungsstarke Fähigkeit. Durch Priorisierung von Tests kann der Code einfacher gemacht werden und sicherstellen, dass er von Anfang an funktioniert (Beck praktizierte seine befürwortete Testpriorität, Co-Brritten Junit, der beliebteste Test-Rahmen für Java). Becks Buch ist eine maßgebliche Referenz, und die erweiterten Geldbeispiele sind auch in Java geschrieben. Beck beschreibt, wie man mit Testpriorität nachdenkt (was das erste Hindernis sein kann, dem viele Programmierer begegnen).
Der pragmatische Programmierer: vom Gesellen zum Meister (Andy Hunt und Dave Thomas)
Der pragmatische Programmierer: Vom Laufwerk zum Meister (Andrew Hunt und David Thomas; Addison-Wesley 1999)
Die Art und Weise, Programmierer zu üben - von kleinen Arbeitnehmern bis zu Experten (übersetzt von Mavida, Electronics Industry Press, 2004)
Ein reiner objektorientierter Entwickler zu sein, hat seine Vorteile . In der heutigen komplexen Gesellschaft müssen Sie als Java -Sprachentwickler oft Kompromisse eingehen, um Ihre Aufgaben zu erledigen. Jagd und
Thomas untersucht, wie sie Aufgaben erledigen können, ohne zu beeinträchtigen, was wirklich wichtig ist. Dies ist kein Buch über die Java -Sprache, sondern ein wichtiges Denken für Java -Sprachentwickler. Ich glaube beispielsweise nicht, dass Programmierer, die vom ehrlichen Rat von "Problemen lösen, nicht zu schweigen" profitieren, keinen berühmten Namen auf seinem Meisterwerk wie ein stolzer Künstler unterschreiben können.
Peopleware: Produktive Projekte und Teams (Tom DeMarco und Timothy Lister)
Peopleware: Produktive Projekte und Teams (Tom DeMarco, Timothy Lister; Dorset House, 1999)
Persönliche Dokumente (2. Ausgabe) (Umlchina -Übersetzungsgruppe, Tsinghua University Press, 2003)
Alle anderen Bücher auf dieser Liste stehen zumindest etwas mit Technologie. Dieses Buch ist nicht. Im Ozean aller technischen Jargon und Akronyme vergessen manchmal Softwareentwickler und Manager: Es sind Leute, die die Software gemacht haben. DeMarco und Lister erinnern uns an diese Tatsache und auch an die Gründe für diesen Unterschied. Dies ist kein Buch über eine bestimmte Programmiersprache, aber es ist ein Buch, das jeder Java -Sprachprogrammierer lesen sollte. Es gibt viele andere gute Bücher über „Wie man erschöpfte Programmierer macht Managers nach hinten los“, aber dies ist die beste.
Das Lernen von Java -Sprache beginnt mit dem Lesen!