Heim  >  Artikel  >  Java  >  Teilen Sie gute Bücher, die Java-Programmierer lesen sollten

Teilen Sie gute Bücher, die Java-Programmierer lesen sollten

零下一度
零下一度Original
2017-06-25 10:41:401224Durchsuche

Als Java-Programmierer ist es am schmerzhaftesten, dass die Auswahl zu groß ist, es zu viele Bücher zum Lesen gibt und man oft leicht ratlos ist. Ich möchte einige der von mir gelesenen technischen Bücher auswählen und sie in der Reihenfolge ihres Lernens jedem empfehlen, insbesondere jenen Java-Programmierern, die ihr technisches Niveau kontinuierlich verbessern möchten.

1. Einführung in die Java-Programmierung
Für Programmierer ohne Java-Programmiererfahrung ist es dasselbe wie beim Lesen eines Einführungsbuchs. In dieser Phase müssen Sie die grundlegende Syntax und die grundlegende Verwendung von Java schnell beherrschen Der Zweck besteht darin, „es zu schlucken, ohne nach einem tieferen Verständnis zu fragen“. Machen Sie sich zunächst mit Java vertraut. Nehmen Sie sich eine kurze Zeit, um schnell durch die Java-Syntax zu gehen und mehr Code zu schreiben, ohne zu raten. Sie müssen „wissen, was es ist“.
1. „Gedanken zur Java-Programmierung“
Nachdem Sie über eine gewisse Erfahrung in der Java-Programmierung verfügen, müssen Sie wissen, warum. Zu diesem Zeitpunkt ist „Java Programming Thoughts“ ein gutes Buch, das Ihnen erklärt, warum. Es enthält eine klare Erklärung der grundlegenden objektorientierten Kenntnisse, der grundlegenden Java-Syntax und der grundlegenden Klassenbibliotheken und kann Ihnen bei der Lösung des Problems helfen Grundlagen der Java-Programmierung. Der Nachteil dieses Buches besteht darin, dass es zu umfangreich und wortreich ist und nicht für das schnelle Lernen des modernen Menschen geeignet ist. Daher ist es nicht notwendig, jedes Kapitel und jeden Abschnitt zu lesen Konzentrieren Sie sich auf die wichtigsten Punkte und lesen Sie ausführlich.
2. Chinesische Version von „Agile Java“
Dieses Buch wurde mir vom Verlag geschenkt, ich stellte es sofort ins Regal und stellte es auf das Bücherregal Als ich vor zwei Tagen das Bücherregal organisierte, nahm er es heraus, blätterte darin und stellte fest, dass es definitiv ein gutes Buch war! Ein Hauptmerkmal dieses Buches besteht darin, dass im gesamten Buch Unit-Tests und TDD verwendet werden. Bei der Vermittlung verschiedener wichtiger Java-Grundkenntnisse wird dies Ihr Programmierdenken auf subtile Weise beeinflussen, um agil zu werden und sich in Richtung TDD zu bewegen. Darüber hinaus ist dieses Buch sehr neu. Es basiert auf der Syntax von JDK5.0. Es ist auch gut, die neue Syntax von JDK5.0 zu lernen. Darüber hinaus ist dieses Buch auch in seiner Inhaltsauswahl sehr angemessen. Schließlich verfügt die Java-Sprache über eine riesige Klassenbibliothek und es gibt zu viele Inhalte, über die man sprechen kann um die wichtigsten Aspekte von Java in kürzester Zeit zu beherrschen. Es ist ein seltenes und gutes Buch, das wichtiges Wissen vermittelt und hervorragende Programmierideen kultiviert.
Obwohl der Autor selbst dieses Buch auf der Einführungsebene positioniert, bin ich mir nicht sicher, ob dieses Buch für Einführungszwecke etwas ausführlicher ist. Ich werde dieses Buch auch lesen und studieren, wenn ich Zeit habe.
2. Fortgeschrittener Java-Programmierkurs
Um eine gute Java-Grundlage zu schaffen, müssen Sie mehr praktische Erfahrung sammeln. Ich glaube nicht, dass es eine Abkürzung gibt. In dieser Phase Ihrer Programmierkarriere gibt es zwei Bücher, die es wert sind, gelesen zu werden, um gute Programmiergewohnheiten zu entwickeln und die Qualität Ihres Codes zu verbessern.
1. „Refactoring: Verbesserung des Designs von vorhandenem Code“
Dieses Buch ist sehr berühmt und bedarf keiner Einführung. Sie können es in Ihrer Freizeit lesen und anhand Ihrer eigenen Praxis überprüfen. Dieses Buch hat eine subtile Wirkung auf Sie.
2. „Testgetriebene Entwicklung anhand von Beispielen“

Das größte Merkmal dieses Buches ist, dass es sehr dünn ist und nicht schwer zu sein scheint. Sie können einen Wochenendnachmittag finden, die Anweisungen gleichzeitig lesen und befolgen und das Buch an einem Nachmittag fertig lesen. Sie haben dann alle Beispiele in diesem Buch durchgelesen. Der Zweck dieses Buches besteht darin, Ihnen die Entwicklung von TDD-Ideen durch praktische Kämpfe zu ermöglichen.
3. Der Weg zum Java-Architekten
Zu diesem Zeitpunkt sollten Sie sich mit der Java-Programmierung sehr gut auskennen und über gute Programmierideen und -gewohnheiten verfügen, aber möglicherweise fehlt Ihnen noch die Gesamtarchitektur der Anwendungssoftware. Jetzt ist Ihr erster Schritt auf dem Weg zum Architekten.
1. „Expert One-on-One J2EE Design and Development“
Dieses Buch ist Rod Johnsons berühmtes Buch. Aus dem Code in diesem Buch wurde Springframework geboren. Aber es scheint, dass es keine chinesische Übersetzung dieses Buches gibt.
2. „Expert One-on-One J2EE Development without EJB“
Dieses Buch wurde von gigix unter Beteiligung vieler Branchenexperten übersetzt. Obwohl der signierte Übersetzer JavaEye ist, hat JavaEye tatsächlich nicht viel beigetragen. und es ist wirklich nervig, der Name des Übersetzers.
Die beiden oben genannten Bücher sind Klassiker von Rod Johnson und unverzichtbare Bücher für Java-Architekten. Unter den Büchern, die ich empfehle, ist dies das sorgfältigste und ernsthafteste Buch, das ich je gelesen habe. Als ich dieses Buch las, vergaß ich fast den ganzen Schlaf und das Essen und hatte die gleiche Energie wie damals, als ich ein Kind war Ich blieb bis spät in die Nacht auf, um Jin Yongs Kampfkunstromane zu lesen. Der erwähnte Inhalt wurde eins nach dem anderen mit meinen eigenen Erfahrungen und Kenntnissen bestätigt und nach der Lektüre dieses Buches hatte ich das Gefühl, dass es meine Meridiane waren öffnete sich und meine Kraft nahm dramatisch zu.
Aber dann habe ich die Rezensionen einiger anderer Leute gelesen und es scheint, dass das Leseerlebnis nicht so gut ist wie bei mir. Vielleicht liegt es daran, dass jeder anders ist. Zu diesem Zeitpunkt hatte ich zwar genügend Erfahrung und Wissen gesammelt, aber ich hatte es noch nicht systematisch organisiert. Mit diesem Buch habe ich sofort ein vollständiges Wissenssystem aufgebaut.
3. „Enterprise Application Architecture Patterns“
Ein weiteres berühmtes Buch von Martin, aber ich habe dieses Buch nur im Allgemeinen gelesen und es nicht sorgfältig gelesen. Dieses Buch scheint eher für Leute geeignet zu sein, die Frameworks erstellen. Wenn Sie beispielsweise planen, selbst ein ORM zu schreiben, ist dieses Buch ein Muss. Aber für Leute, die Anträge stellen, macht es nichts, wenn sie sich das nicht ansehen. Wenn Sie jedoch Zeit haben, empfehle ich Ihnen trotzdem, einen ernsthaften Blick darauf zu werfen. Dadurch erfahren Sie, warum das Framework so konzipiert ist , damit Ihr Niveau in die Perspektive eines Framework-Designers befördert werden kann, der über Probleme nachdenkt. Ich habe Martins Bücher immer bewundert, aber ich habe sie noch nie so ernsthaft gelesen wie die Bücher von Rod Johnson.
4. „Prinzipien, Muster und Praktiken der agilen Softwareentwicklung“

Onkel Bobs berühmtes Buch, ein klassisches Meisterwerk der Agilität. Es ist nicht so sehr ein Buch über Softwareentwicklungsprozesse, sondern ein Buch über Softwarearchitektur Was die verschiedenen Entwicklungsmuster betrifft, denke ich persönlich, dass Sie nach der Lektüre dieses Buches nicht unbedingt die „Design Patterns“ von GoF lesen müssen.
4. Softwareentwicklungsprozess
Das Verständnis des Softwareentwicklungsprozesses dient nicht nur der Verbesserung der guten Programmiergewohnheiten einzelner Programmierer, sondern auch der Grundlage für die Verbesserung der Teamzusammenarbeit.
1. „Die Essenz von UML“
UML hat eigentlich keinen notwendigen Zusammenhang mit dem Softwareentwicklungsprozess, ist aber ein Werkzeug, das Softwareteams für die Zusammenarbeit, Kommunikation und das Schreiben von Softwaredokumenten benötigen. Allerdings gibt es nicht viele wirklich praktische Diagramme von UML. Es reicht aus, dieses Buch zu lesen. Es ist nicht nötig, so etwas wie das „UML-Benutzerhandbuch“ zu lesen. Ich möchte alle daran erinnern, dass die chinesische Übersetzung dieses Buches sehr schlecht ist. Es wird empfohlen, wenn möglich die englische Originalversion zu lesen.
2. „Analysis of Extreme Programming and Embrace Change“ XP
Dies ist die zweite Ausgabe von Kent Becks berühmtem Buch, auf Chinesisch und Englisch. Es gibt nicht viel zu sagen, ein Buch, das man unbedingt lesen muss.
3. „Unified Software Development Process“ UP
Tatsächlich stehen UP und Agile nicht unbedingt im Widerspruch zu UP, aber die von UP betonte Dokumentation und der Prozessantrieb werden von Agile nicht übernommen. Auf jeden Fall lohnt es sich, UP zu lesen. Schließlich gibt es in China nur sehr wenige Unternehmen, die Agilität akzeptieren. Sie müssen sich immer noch mit UP ausrüsten, auch wenn es sich um XP handelt.
4. „Agile Modeling“ AM
Scott Amblers berühmtes Buch ist sehr progmatisch. Es zeigt Ihnen, wie Sie agil und UP sein können, und bietet außerdem viele progmatische Vorschläge . Sie können die drei Bücher „Analysis of Extreme Programming and Embrace Change“, „Unified Software Development Process“ und „Agile Modeling“ zusammen lesen, um die Unterschiede zwischen XP und UP zu sehen und dann zu sehen, wie AM XP und UP vereinheitlicht und diese integriert Wenn Sie drei Theorien zu einer zusammenfassen und Ihr eigenes theoretisches System bilden, können Sie auch ein Buch schreiben.
5. Software-Projektmanagement
Wenn Sie von Ihrem Vorgesetzten plötzlich zum Projektmanager befördert werden und überhaupt keine Erfahrung im Projektmanagement haben, werden Sie sich definitiv unsicher fühlen, wenn Sie das Gefühl haben, dass Sie das Projekt nicht gut managen Wenn Sie Ihre Projektmanagementfähigkeiten verbessern möchten, wird die Teilnahme an der PMP-Prüfung Ihren Durst bestimmt nicht stillen.
1. „Rapid Software Development“
Dies ist auch ein berühmtes Buch. Man kann sagen, dass Sie mit diesem Buch in der Hand einen erfahrenen Projektmanagementberater haben, der Sie berät, und dass Sie sich keine Sorgen mehr über Ihre Inkompetenz machen müssen. In diesem Buch geht es nicht um die Managementtheorie. Das Sprechen über diese Theorien wird das Problem nicht lösen Ideen, wie man sie lösen kann, Sie müssen nur ein paar Änderungen vornehmen und Rezepte und Medikamente finden.
6. Zusammenfassung
In dieser Liste empfohlener Lesebücher habe ich weder beliebte Software-Framework-Lernbücher wie Struts, Hibernate, Spring usw. noch Bücher über AJAX aufgelistet. Dies liegt daran, dass solche Bücher tendenziell veraltet sind und die meisten der oben genannten Bücher einen ausreichend langen Lebenszyklus haben, sodass es sich lohnt, sie zu kaufen und zu sammeln.

1. Java-Sprachgrundlagen
Wenn es um Bücher zum grundlegenden Erlernen der Java-Sprache geht, wird jeder definitiv „Thinking in Java“ von Bruce Eckel empfehlen. Es handelt sich um ein sehr tiefgreifendes technisches Buch, das in den Grundlagen der Java-Sprache im Grunde kein anderes Buch übertreffen kann. Der Autor des Buches, Bruce Eckel, ist im Internet als genialer Spekulant bekannt. „Thinking in C++“ des Autors gewann 1995 den Software Development Jolt Award als bestes Buch, und „Thinking in Java“ wurde als „Java World“ ausgezeichnet „ im Jahr 1999. Favourite Readers' Welcome Books“ und gewann den Editors' Choice Book Award. Seit 1986 hat der Autor mehr als 150 Artikel über Computertechnologie, 6 Bücher (davon 4 über C++) veröffentlicht und weltweit Hunderte von Vorträgen gehalten. Er ist Autor von „Thinking in Java“, „Thinking in C++“, „C++ Inside & Out“, „Using C++“ und „Thinking in Patterns“ und Herausgeber der Anthologie „Black Belt C++“. Seine Bücher wurden als „das beste Java-Nachschlagewerk … absolut schockierend“ bezeichnet; „die klügste Wahl, ein Java-Nachschlagewerk zu kaufen“; Das außergewöhnliche Talent und die Fähigkeit des Autors, mehrere Sprachen zu beherrschen, machten ihn zu einem der zehn Menschen, die in den zehn Jahren der Java-Entwicklung am engsten mit Java verbunden waren.
„Thinking in Java“ behandelt alle Aspekte der Java-Sprache. Viele Java-Sprachveteranen kommentierten: „Dies ist ein Buch, das auf ziemlich hässliche Weise über die Java-Sprache spricht.“ In diesem Buch werden viele Details der Java-Sprache behandelt, und jeder Aspekt ist sehr tiefgründig. Durch dieses Buch können Sie die „hässliche“ Java-Sprache sehen.
Im Internet gibt es viele Videos zur Erklärung der Java-Sprache, und einige davon sind Unsinn. „Weng Kai – JAVA Language“ ist möglicherweise Ihre einzige Wahl, um die Grundlagen der Java-Sprache zu erlernen. Diese Vorlesung basiert im Wesentlichen auf dem Buch „Thinking in Java“ und enthält viele interessante Witze von Lehrer Weng. Ich bin so glücklich, dass mein Lernen mit diesem Video begann. Der Inhalt umfasst 30 Vorträge und ich habe es insgesamt dreimal gelesen.
Für Anfänger empfehle ich jedoch nicht „Thinking in Java“. Ich bevorzuge „Core Java 2“ von Prentice Hall PTR, das in China „Java 2 Core Technology“ heißt und derzeit in der siebten Auflage vorliegt. Jeder im Internet kann die elektronische Version herunterladen. Auch Oreillys „Java in a nutshell“ ist eine gute Wahl. Nachdem Sie die beiden oben genannten Bücher gelesen haben, können Sie sich das Video von Lehrer Weng Kai ansehen und anschließend „Denken in Java“ lernen.
2. Java-Datenstruktur
Es gibt nur sehr wenige Bücher zur Java-Datenstruktur auf dem Markt. Es gibt etwa „Java Collections“ von APress, „Data Structures in Java“, „Object-orientierte Data Structures Using Java“ von Jones und Bartlett und „Data Structures and Algorithms in Java“, veröffentlicht von Prentice Hall (19. Dezember 2005). . Dies ist „Datenstrukturen und Algorithmen mit objektorientierten Entwurfsmustern in Java“. Ich habe großes Glück, dass mein erstes englisches Buch „Java Collections“ von APress ist (dieses Buch gibt es in China möglicherweise überhaupt nicht – Sie können nur die englische Version herunterladen. Es ist sehr logisch und einfach). Eine vollständige Einführung in die Java Collections API mit vielen Beispielen zur Erweiterung der API. Dies ist das einzige gute Buch, das ich Ihnen zum Erlernen von Java-Datenstrukturen empfehle. Von den anderen beiden Büchern von Jones und Bartlett scheint es in China eine chinesische Version zu geben, Sie können also einen Blick darauf werfen, wenn Sie möchten.
Nachdem Sie die API kennengelernt haben, können Sie sich die entsprechenden Klassen im Paket java.util ansehen. Allerdings können Sie erst nach dem Erlernen von Entwurfsmustern das gesamte Java Collections Framework vollständig verstehen. Java Collections Framework verwendet viele bekannte Entwurfsmuster wie: Iteratormuster (Iterator), Factory-Methodenmuster, Dekoratormuster, Adaptermuster usw. Durch das Studium des Quellcodes der Datenstruktur im Paket java.util können Sie den Entwurf der berüchtigten Properties-Klasse kennen und gleichzeitig möglicherweise grundsätzlich die Möglichkeit haben, einfache Datenstrukturen zu entwerfen.
Es wird gesagt, dass das Lernen kein Ende hat. Nachdem Sie das von Sun bereitgestellte Java Collections Framework studiert haben, können Sie ein anderes Java Collections Framework von Apche studieren, was sehr interessant ist. Zwei Frameworks, die sich gegenseitig ergänzen.
Bevor alle Java-Sammlungen lernen und studieren, möchte ich Sie daran erinnern, dass Java-Sammlungen hauptsächlich die folgenden drei Teile umfassen: Schnittstelle, Implementierung und Algorithmus.
1. Die Hauptschnittstellen sind List, Set, Queue und Map. List, Set und Queue sind Unterschnittstellen der Collection-Schnittstelle.
2. Bei der Implementierung handelt es sich hauptsächlich um die konkreten Klassen, die diese Schnittstellen implementieren. Wie ArrayList, LinkedList, Stack und Vector, die die List-Schnittstelle implementieren, TreeSet und LinkedHashSet, die die Set-Schnittstelle implementieren, SynchronousQueue usw., die die Queue-Schnittstelle implementieren; die die Map-Schnittstelle implementieren.
3. Der Algorithmus wird hauptsächlich von der Arrays-Klasse und der Collections-Klasse bereitgestellt, die den Kern des gesamten Java Collection Framework-Algorithmus bilden. Unterstützt verschiedene Arten allgemeiner Vorgänge wie Sortieren und Suchen.
Java Collections enthält zwei Versionen von Datenstrukturen, hauptsächlich die ursprüngliche Datenstruktur, die die Synchronisierung unterstützt, und die spätere Datenstruktur, die die Synchronisierung nicht unterstützt.
Java Collection Framework unterstützt das Sortieren mithilfe der Schnittstellen Comparator und Comparable. Es werden sowohl die alte als auch die neue Version von Iterator und Enumeraton sowie deren Konvertierung usw. bereitgestellt.
Die Observable-Schnittstelle und die Observer-Klasse im java.util-Paket sind der Kern des Observer-Musters.
……
Harolds Schriften. Der Stil der beiden Bücher ist im Wesentlichen derselbe. Die empfohlene Lektüre ist die erste Ausgabe von „Jvava I/O“. Die Erklärung ist relativ einfach, der Inhalt ist relativ konzentriert und es gibt viele Beispiele. Die zweite Ausgabe wurde im Mai dieses Jahres im Ausland veröffentlicht. Sie ist äußerst detailliert (ich habe sie zwei Wochen lang zusammengestellt). Der J2ME-Teil, aber der Kommunikationsteil für die serielle Schnittstelle und die parallele Schnittstelle scheint unzureichende Klassenbibliotheksunterstützung zu haben, und ich kann ihn nicht wirklich bedienen.
Neben der Erstausgabe von „Jvava I/O“ hat Oreilly auch ein Buch „Jvava NIO“ herausgebracht, das ebenfalls sehr gut ist.
Nachdem Sie „Jvava I/O“ und „Jvava NIO“ nacheinander gelesen haben, können Sie den Quellcode im java.io-Paket studieren. Bevor Sie den Quellcode studieren, möchte ich Ihnen einige Tipps geben:
Das io-Paket von Java enthält hauptsächlich:
1. Diese beiden Strömungen haben keine sogenannte Theorie, wer den anderen ersetzt oder dem anderen überlegen ist. Sie ergänzen sich, aber sie haben unterschiedliche Schwerpunkte.
2. Es gibt zwei Arten von Symmetrie: 1. Symmetrie von Bytestrom und Zeichenstrom 2. Symmetrie von Eingabe und Ausgabe;
3. Eine Brücke: InputStreamReader und OutputStreamWriter, die Byteströme in Zeichenströme umwandeln.
Es muss beachtet werden:
1. PipedInputStream und PipedOutputStrem sind zwei interessante Klassen.
2. Der Stream, der Buffered unterstützt, ist eine Klasse, die wir häufig verwenden.
3. Die bekannteste Anwendung des Decorator-Musters in Java ist für io-Design. Studieren Sie sorgfältig die Beziehung zwischen jedem Filterfluss und dem spezifischen Fluss und lesen Sie weitere Bücher über Entwurfsmuster. Ich glaube, dass Sie etwas gewinnen werden.
4. Das gute Erlernen des io-Pakets ist die Grundlage für das Studium des Netzpakets, des RMI-Pakets ...!
4. Java-Datenbank
Es gibt zu viele Datenbankbücher und sie sind zu schlecht! Ich habe im Grunde alle Bücher in diesem Bereich studiert. Ich empfehle Ihnen, „JDBC Recipes A Problem Solution Approach“ zu lesen. Es wurde erst Ende 2005 im Ausland veröffentlicht (Eine chinesische Version gibt es in China, aber es gibt keine Garantie, dass eine chinesische Version veröffentlicht wird. Es lohnt sich, sie zu lesen – inländische Übersetzungen ausländischer Bücher sind oft chaotisch und unleserlich.) Aber wir haben wirklich Glück, dass es elektronische Versionen im Internet gibt. Einen Blick wert. Ich empfehle das erste Buch, das ich gelesen habe und mit dem ich sehr zufrieden war – „Java Database Bible“, herausgegeben von Wiley, das sehr gut ist! Gut ist auch Suns eigenes Buch „JDBC API Tutorial and Refernece“, das die JDBC-API vorstellt. Mein zweites JDBC-Buch befasste sich mit dieser Reihe von APIs.
Aber derzeit sind diese Bücher relativ oberflächliche API-Anwendungsbücher. Wenn ich die Gelegenheit dazu habe, werde ich Ihnen ein Buch bringen, das die JDBC-API und die internen Details der JDBC-Implementierung vorstellt! Ich werde so schnell wie möglich hart arbeiten und hoffe auf die Unterstützung aller!
Übrigens ein Tipp für Freunde, die JDBC lernen:
Der Hauptweg zum Erlernen und Verwenden von JDBC sind diese APIs, und der Verwendungsprozess ist auch äußerst einfach ist der allgemeine Prozess der Verwendung von JDBC:
1. Um den Treiber (Treiberklasse) einer Datenbank zu laden, verwenden Sie normalerweise Class.forName ("Treiberklassenname");
2 zur Datenbank -
Connection con = DriverManager.getConnection(url, username,passwort);executeQuery("SQL query Statement");
}
Ganz einfach! Was im gesamten JDBC geändert werden kann, ist im Allgemeinen:
1 Es gibt drei Arten von Anweisungen, die vom Connection-Objekt erstellt werden können: Statement, PreparedStatement und CallableStatement.
2. Sie können mehrere Arten von ResultSets erstellen: Unterstützung für aktualisierbare und nicht aktualisierbare Transaktionen...
3 Dateneingabe.
4. Operationen an speziellen Spaltentypen (Blob, Clob, Arrary, Ref, Struct) im Ergebnissatz.
5. Diese speziellen Arten von Eingabedatenbanken.
6. Operationen spezieller Ergebnismengen (CachedRowSet, JdbcRowSet, WebRowSet) im javax.sql-Paket.
7. Die andere ist eine DataSource, die ebenfalls sehr einfach ist! Ein verwaltetes Objekt in J2EE
Einfach! Ich glaube, dass bald jeder JDBC erobern wird.
5. Java-Netzwerkprogrammierung
Netzwerkprogrammierung – eine mysteriöse und herausfordernde Richtung. Aber bevor ich über die Java-Netzwerkprogrammierung spreche, möchte ich zunächst den Entwicklern der Sun Company danken, denn ihre genialen Ideen und ihre intelligente Architektur haben es den meisten Java-Programmierern extrem einfach gemacht, die Java-Netzwerkprogrammierung zu erlernen.
Für Bücher zur Java-Netzwerkprogrammierung empfehle ich O'Reillys „Java Network Programming“, das derzeit in der dritten Auflage erhältlich ist. Es gibt bereits eine elektronische Version der dritten Auflage im Internet. Sie wurde 2004 im Ausland veröffentlicht und umfasst 706 Seiten! Es ist sehr ausführlich und ausführlich, weil einige Dinge von Sun nicht vollständig offengelegt wurden und es daher schwierig ist, es zu erklären. Wenn Sie interessiert sind, können Sie es herunterladen sehen! Das zweite Buch ist „Java Distributed Computing“, das 1998 von O'Reilly veröffentlicht wurde. Der grundlegende Teil ist ausführlicher geschrieben, und die folgenden Beispiele sind dennoch ein Studium wert.
Bevor Sie diese Bücher lesen, möchte ich Ihnen einen Tipp geben:
Die Java-Netzwerkprogrammierung ist eigentlich relativ einfach und der Einstieg erfolgt schnell. Die Java-Netzwerkprogrammierung besteht hauptsächlich aus zwei Teilen: 1.Socket und 2.URL. Aber auch der zweite Teil basiert vollständig auf dem ersten Teil.
1. Socket umfasst clientseitigen Socket und serverseitigen ServerSocket. Es gibt auch DatagramSocket und DatagramPacket, die dem UDP-Kommunikationsprotokoll entsprechen. Kurz gesagt, der Socket-Teil ist die Grundlage für die Einrichtung anderer erweiterter Protokolle.
2. Die URL-Klasse ist ein Netzwerkressourcen-Locator, der sich normalerweise auf bestimmte Netzwerkprotokolle wie HTTP, FTP, Telnet ... bezieht. Über diese Klasse können Sie eine Verbindung zu Ressourcen im Netzwerk herstellen. Über ihren openStream können Sie Netzwerkressourcen in Form eines Streams (InputStream) im io-Paket lesen und über ihre OpenConnection-Methode eine Verbindung herstellen Sie können nicht nur den Lesevorgang, sondern auch den Schreibvorgang abschließen.
Die Java-Netzwerkprogrammierung umfasst im Allgemeinen die beiden oben genannten Teile. Die Netzwerkprogrammierung ist sehr eng mit IO und Multithreading verbunden. Sie müssen diese beiden Teile gründlich verstehen, bevor Sie diesen Teil studieren.
Nachdem Sie die oben genannten Teile gelernt haben, können Sie den zugehörigen Quellcode im java.net-Paket studieren! Es ist noch zu früh, den gesamten Quellcode zu studieren. Das gesamte Netzpaket enthält: ContentHandlerFactory, URLStreamHandlerFactory, URLStreamHandler, URLClassLoader und andere Hilfsklassen, die den Rahmen der java.net-Netzwerkprogrammierung bilden. Durch das Studium des Quellcodes können Sie das java.net-Paket nicht nur schnell verstehen, sondern auch erweitern Dieses Paket legt den Grundstein dafür, diese Denkweise auch auf Ihre eigenen Projekte anzuwenden.
Inzwischen sollten Sie nur 60 % des java.net-Pakets verstehen. Für einige davon können Sie Dekompilierungssoftware wie JDecompiler verwenden, um rt.jar im Verzeichnis jdkxxxjrelib in Ihrem JDK-Installationsverzeichnis zu öffnen Wenn Sie eine WinRAR-Software wie diese verwenden, wird das sun.net-Paket geöffnet, alle Dateien dekompiliert und die URL-Klasse funktioniert im Detail. Nach dem Studium des sun.net-Pakets sind Sie mit der gesamten Netzwerkprogrammierung bestens vertraut.
Es sieht so aus, als ob wir die Netzwerkprogrammierung bereits beherrschen. Tatsächlich ist dies jedoch nicht der Fall. Wenn Sie tiefer gehen möchten, fahren Sie bitte fort. Es gibt viele hervorragende Netzwerkprogrammierbibliotheken und sogar Software im Internet, die uns „mehr Leistung“ verleihen können. Zum Beispiel sind Apaches HttpCore und HTTPConnection zwei Bibliotheken, die sich auf das HTTP-Protokoll beziehen; JGroups ist eine unverzichtbare Bibliothek für das Studium verteilter Kommunikation und Gruppenkommunikation, dann können wir P2P-Softwarepakete studieren, wie zum Beispiel Suns JXTA, bei dem es sich möglicherweise um eine Java-Plattform handelt Der zukünftige Standard der Punkt-zu-Punkt-Kommunikation! Dann können Sie die äußerst ausgereifte und weit verbreitete P2P-Software Azureus studieren! www.sourceforge.net kann heruntergeladen werden!
Eine Reise von tausend Meilen beginnt mit einem einzigen Schritt! Tun Sie es einfach! (Derzeit habe ich nur das Net-Paket untersucht und werde mich in naher Zukunft weiter mit den anderen befassen. Sun hat aus bestimmten Gründen keine weiteren Implementierungsdetails von Net bekannt gegeben. Es ermöglicht das Studium des Quellcodes in Textform , und wenn ich seine unveröffentlichte Implementierung in das Buch schreibe, hoffe ich wirklich, ein Buch über Java-Netzwerkprogrammierung für die Leser zu veröffentlichen)
Servlet und JSP
Servlet! gibt es auch überall! Es gibt nur zwei oder drei Bücher, die es wert sind, empfohlen zu werden. Ich kann „Servlets and JavaServerpages: The J2EE Technology Web Tier“ von Addison Wiley wärmstens empfehlen, es ist ein weiteres sehr dickes Buch! Es wurde 2003 im Ausland veröffentlicht und umfasst 784 Seiten. Es enthält eine relativ vollständige Erklärung und viele Beispiele, insbesondere Kapitel 8 Filter, das mehrere gute Beispiele enthält. Alle anderen Bücher über Servlets und JSP, die ich gesehen habe, sind nicht so ausführlich! (Vielleicht habe ich es einfach nicht gesehen). O’reillys „Java Servlet Programming“ und „Java Server Pages“ sind relativ leicht zu verstehen, Sie können sie lesen!
Bevor alle Servlet und Jsp lernen, möchte ich Sie noch daran erinnern:
Im Wesentlichen ist Servlet ein serverseitiges Programm, das die Servlet-Schnittstelle implementiert und auf der Serverseite bereitgestellt wird! Es kann wie jede andere Java-Anwendung geschrieben werden. Es kann Datenbanken betreiben, lokale Dateien betreiben und lokale EJBs verbinden. Der allgemeine Prozess zum Schreiben von Servlet-Programmen ist:
1 >
2. Überschreiben Sie die Methoden doGet und doPost
3. In den internen Operationsmethodenparametern HttpServletRequest und HttpServletResponse der überschriebenen Methode.
4. Leseanfragen verwenden HttpServletRequest. Mit HttpServletRequest können Sie den Protokollheader des HTTP-Protokolls bedienen, die Operationsmethode der Anforderung abrufen, den Pfad der Anforderung abrufen, die Zeichenfolge der Anforderung abrufen und, was noch wichtiger ist, Informationen zum anfordernden Client abrufen Cookie- und HttpSession-Objekte.
5. Mit Cookie können Sie das Objekt „sweetheart“ bedienen oder in HttpServletResponse schreiben.
6. Sie können HttpServletResponse verwenden, um Informationen an Clients auszugeben. Mit HttpServletResponse können Sie verschiedene Arten von Protokollheadern schreiben, Cookies hinzufügen, andere URLs umleiten und HTTP-Protokollstatuscodes an Kunden senden.
7. Verwenden Sie HttpSession, um jede Funktion abzuschließen, die Sie innerhalb der Sitzung implementieren möchten.
Gleichzeitig stellt Servlet auch einige Ereignisse und Ereignis-Listener bereit (nur ein einfacher Beobachtermodus). Es gibt auch Filter und Wrapper (ServletRequestWrapper, ServletResponseWrapper) – die Verwendung einfacher Streams und die Verwendung des Dekoratormodus.
Um Sevlet und JSP zu lernen, müssen Sie sie auf dem Server bereitstellen. Denken Sie einfach an die üblichen Schritte zur Dateibereitstellung und Parametereinstellungen und wie Sie sie im Programm verwenden.
Nachdem Sie Servlet vollständig verstanden haben, ist es relativ einfach, JSP zu lernen! JSP basiert vollständig auf Servlet. Es ist auf die Bedürfnisse von Programmierern zugeschnitten, die gerne Skripte in HTML-Dokumente einbetten (z. B. Webprogrammiersprachen wie PHP). Es ist auch ganz einfach zu lernen!
Alles wirkt so ruhig und leicht zu erlernen! Hinter der einfachen Erscheinung steckt ein komplexer Mechanismus. Wenn Sie Servlet und JSP gründlich studieren möchten, müssen Sie sich mit der spezifischen Implementierung von Open-Source-Software wie Tomcat befassen. Es ist nichts weiter als ein Server. Nachdem der Client eine Anfrage über das HTTP-Protokoll an den Server gesendet hat, konvertiert der Server die HTTP-Anfrage in das entsprechende HttpServletRequest-Objekt und ruft das von Ihnen geschriebene Servlet auf HttpServletRequest in Ihrem Servlet. Wenn Sie gleichzeitig HttpServletResponse betreiben, sendet der Server diese HttpServletResponse über das HTTP-Protokoll gemäß den Anforderungen des HTTP-Protokolls! Nachdem der Client die JSP-Webseite auf der Serverseite angefordert hat, verwendet Tomcat die Kompilierungssoftware und verwendet die Vorlage im Paket javax.servlet.jsp, um die JSP-Datei zu kompilieren. Nach der Kompilierung handelt es sich um ein Servlet! Die nachfolgenden Operationen sind genau die gleichen wie bei Servlet!
Basierend auf Servlet und Jsp sind die sogenannten fortschrittlichen Technologien: JSTL, Struts... nichts anderes als die Verwendung einiger Tags und MVC-Muster.
Weiter so! Der Sieg liegt vor uns! !
7. Multi-Threading
Eine Richtung, die mysteriös aussieht, aber leicht zu beginnen und schwer zu meistern ist!
Ich empfehle zwei Bücher, bei denen ich ein gutes Gefühl habe. Erstens war es das erste Buch in diesem Bereich, das ich lesen konnte, „Java Thread Programming“, veröffentlicht von Sams im Jahr 1998. Es war sehr gut geschrieben und leicht zu lesen Habt Zeit! Wenn Sie wissen möchten, wie es geht, überzeugen Sie sich selbst! Das zweite Buch „Java Threads“ wurde dreimal von OReilly veröffentlicht. In China scheint es eine chinesische Version zu geben. Das Buch spricht über N Richtungen im Zusammenhang mit Multithreading, wie IO, Swing, Collection usw.
Lass mich dir ein paar Tipps geben! Es gibt nicht viele Klassen im Zusammenhang mit Multithreading in der Java-Klassenbibliothek. Sie umfassen hauptsächlich die vier Klassen Thread, ThreadGroup, ThreadLocal und InheritableThreadLocal sowie eine Runnable-Schnittstelle und die Methoden wait, notify und notifyAll Objekt!
1 Thread ist die Kernklasse des Multithreadings und bietet eine Reihe von Methoden zum Erstellen und Betreiben von Multithreads.
2 ThreadGroup ist eine Toolklasse zum Verwalten von Threads.
3 ThreadLocal und InheritableThreadLocal bieten Thread eine sichere Funktion zum Speichern von Thread-Objekten!
4 Selbstverständlich lauffähig!
5 Synchronize ist der Kern der Synchronisationsmethoden und Synchronisationsblöcke! Wenn mehrere Threads diese Methode aufrufen, kann nur ein Thread diese Methode verwenden und andere Methoden werden blockiert, wodurch die Integrität des internen Status des betriebenen Objekts sichergestellt wird. Wenn ein Thread eine Methode oder einen Block mit „Synchronisieren“ aufruft, erhält er die Objektsperre des Objekts. Nach Abschluss der Operation im Block wird die Objektsperre aufgehoben, sodass andere Objekte weiterarbeiten können.
6 Warten, Benachrichtigen und NotifyAll bieten effektive Warte-/Benachrichtigungsmechanismen. Jedes Objekt in der Java-Sprache verfügt über einen Ruheraum. Wenn der Status des Objekts, das es bedient, nicht erfüllt ist, bleibt jeder Thread im Ruheraum des Objekts und gibt die Objektsperre frei, wenn andere Threads das Objekt bedienen Die Threads im Raum prüfen dann die Bedingungen und führen entsprechende Vorgänge aus, wenn die Bedingungen erfüllt sind.
Es gibt im Grunde so viele Grundlagen zum Multithreading! Ist es nicht einfach? Für einen echten Programmierer reicht das möglicherweise nicht aus. Um Multithreading wirklich zu beherrschen, lesen Sie bitte das Paket java.util.concurrent! Die Arbeit von Meister Doug Lea war ursprünglich eine konsistente Open-Source-Programmierbibliothek, die später von Sun in die Java-Klassenbibliothek integriert wurde. Es gibt auch eine weitere Version dieser Bibliothek auf der Website des Autors! Gute Dinge, die es wert sind, studiert zu werden! Open-Source-Software wie Hibernation und OpenJMS nutzen alle dieses Paket!
8. Designmuster
Wenn es um Designmuster geht, werden viele Leute GOF empfehlen, ein von Amazon mit fünf Sternen empfohlenes Buch. Ich empfehle dieses Buch jedoch nicht denjenigen, die Java schon lange nicht mehr lernen, insbesondere Java-Anfängern. Der Hauptgrund liegt darin, dass die Beispiele im Buch grundsätzlich in C++ vorliegen und viele Details nicht klar genug erklärt werden.
Das erste Buch, das ich jedem empfehle, ist „Java and Patterns“ von Dr. Yan Hong. Es ist das erste Buch über Designmuster, das von einem Chinesen geschrieben wurde Viele Beispiele und Klassendiagramme nationaler Kultur und Konzepte, und sie sind relativ einfach! Ein sehr gutes Einführungsbuch – wieder ein großes!
Zweitens empfehle ich einen Satz von drei Büchern von „Pattern In Java“, herausgegeben vom Wiley Publishing House. Das zweite scheint mir nicht so gut zu sein, aber das dritte schon ziemlich gut!
Das dritte Buch ist die chinesisch übersetzte Version des Multithreading-Modus (eine seltene chinesische Übersetzungsversion) „Java Multi-threading Design Patterns“, veröffentlicht vom China Railway Publishing House im Jahr 2003, in der der Multithreading-Modus erläutert wird Sehr gut verständlich, mit vielen Illustrationen, Übungen in jedem Kapitel und Antworten am Ende! Damit begann meine Recherche zum Multithreading-Modus!
Das vierte Buch der Head First-Reihe, „Head First Design Pattern“, das dieses Jahr veröffentlicht wurde, hält an den Vorteilen der Head First-Buchreihe fest und bietet eine große Anzahl von Klassendiagrammen, reichhaltigen Beispielen und interessanten Inhalten Anmerkungen. Es lohnt sich zu kaufen!
Zweitens können Sie in Richtung J2EE „Patterns of Enterprise Application Architecture“ studieren und lesen, das 2002 von Addison Wesley veröffentlicht wurde. Die Werke vieler großer Namen sprechen über die Integration von Unternehmensinformationen! „J2EE PATTERNS SL500“ von Sun ist auch sehr gut! Es ist zu spät, das Buch „Holub on patterns“ mit 4,5 Sternen auf Amazon zu empfehlen. Die Arbeit des Meisters liefert Beispiele, die es wert sind, studiert zu werden. Leser, die mit den oben genannten vier Büchern nicht sehr vertraut sind, sollten es jedoch nicht lesen. Es kann Sie müder machen!
Ich habe Designmuster auf einem sehr mühsamen Weg gelernt. Ich habe Dr. Yan Hongs „Java and Patterns“ viermal gelesen, abgesehen davon, dass ich es im Grunde nicht gelesen habe das erste Mal. Verstehe es! Ich erinnere mich, als ich in meinem ersten Jahr an der Graduiertenschule war, dass mein Lehrer uns das GOF-Buch beigebracht hat. Als Wahlfach habe ich mit den Master- und Doktoranden ihrer Computerabteilung teilgenommen. In der letzten Klasse waren 40-50 Leute. und nicht mehr als 3 Leute haben es verstanden (Die Grundlagen sind schlecht – hauptsächlich verstehe ich die Sprache C++ überhaupt nicht). war okay, also habe ich mir „Java and Patterns“ ausgeliehen, aber ich habe es immer noch überhaupt nicht verstanden. Glücklicherweise hörte ich im dritten Jahr meines Studiums einen Vortrag über die Sprache Java OOP von Professor Rao Ruonan von der Shanghai Jiao Tong University, nachdem ich drei Designmuster wie das kombinierte Buchmuster verstanden hatte in anderen Mustern und wollte sie erobern! Das erste Buch, das ich mir nach der Arbeit kaufte, war „Java and Patterns“. Ich brauchte zwei Monate, um dieses riesige Buch mit mehr als 1.000 Seiten zum ersten Mal zu studieren, und dann konnte ich es zum dritten Mal in etwa 15 Tagen durchlesen Ich habe mir viele Notizen gemacht! Von da an war es außer Kontrolle.
Wählen Sie das richtige Buch und tauchen Sie ein in das Studium. Ich glaube, Sie werden bald damit beginnen!

8 einfache Schritte zum Erlernen der Java-Sprache, dies ist erst der Anfang unseres Studiums der Java-Sprache! Wenn Sie das alles verstehen, sind Sie bestenfalls nur ein Java-Programmierer und der Weg, der vor Ihnen liegt, wird lang und lang sein! Wir können weiterhin den Quellcode der Datenbankimplementierung, den Quellcode des Servlet-Servers, RMI, EJB, JNDI, aspektorientierte Programmierung, Refactoring, ANT-Tools, Eclipse-Tools, Spring-Tools, JBoss, JOnAS, Apache Geronimo und andere J2EE-Server untersuchen! Nachdem Sie diese studiert haben, werden Sie möglicherweise ein ausgezeichneter J2EE-Architekt! Sie können den Profiler, den Compiler und JNODE (in Java geschriebenes Betriebssystem) weiter studieren...

Das obige ist der detaillierte Inhalt vonTeilen Sie gute Bücher, die Java-Programmierer lesen sollten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn