Der beste Weg zu lernen ist, Bücher zu lesen
„Der beste Weg zu lernen, ist, Bücher zu lesen“, das ist meine erste Erfahrung, nachdem ich alleine gelernt und einige Erfahrungen gesammelt habe . . Persönlich denke ich, dass das Lesen von Büchern zwei Vorteile hat:
1. Bücher, die veröffentlicht werden können, müssen wiederholt durchdacht, poliert und rezensiert worden sein. Aus professioneller Sicht ist der Wert eines guten Buches daher weit mehr als andere Informationen
2. Es ist praktisch, den Code selbst in das Buch einzugeben
"Der beste Weg, sich nach der Lektüre des Buches wieder zu verbessern, besteht darin, einen verwandten guten Blog zu lesen Beiträge.“ Persönlich denke ich, dass dies der zweite Schritt des Lernens ist, da ein Buch oft Hunderte von Seiten hat. Gute Blog-Beiträge sind einige Zusammenfassungen und Verfeinerungen nach dem Lesen und Studieren. Es ist sehr nützlich, um den Lerninhalt zu sortieren. Natürlich , hier geht es nicht um Ihre eigene Lernmethode, ich werde nicht mehr darüber sprechen.
Viele Programmierer verspüren oft den Drang, Bücher zu lesen, wissen aber nicht, welche Bücher sie lesen sollen. Im Folgenden werde ich Java-Programmierern einige gute Bücher empfehlen (der Autor jedes Buches wird fett und rot hervorgehoben). , darunter die meisten Bücher, die ich normalerweise lese. Es kann als kleine Zusammenfassung und Reflexion der Bücher angesehen werden, die ich normalerweise lese.
Es gibt viele Bücher auf dem Markt, die Designmuster erklären. Obwohl ich zuvor gesagt habe, dass das Lesen von Büchern das Beste ist, empfehle ich diesen Blog für Freunde, die sich für Designmuster interessieren. Die Erklärung von Designmustern durch diesen Blogger ist meiner Meinung nach zu 90 % problemlos und es lohnt sich, sie zu lernen:
1 Erläutern Sie die Definition des Designmusters
2. Erklären Sie die Struktur dieses Designmusters mit Bildern und Texten
3. Schreiben Sie die Implementierung dieses Designmusters in detaillierter Codeform
4. Ergänzungsinhalt
5. Erklären Sie die Vor- und Nachteile des Designmusters
Sind die Wissenspunkte, auf die wir achten und die wir über ein Designmuster erfahren, nicht direkt oben?
Ich möchte die Internetnutzer jedoch daran erinnern, dass es viele Möglichkeiten gibt, dasselbe Designmuster zu schreiben. Dies bedeutet nicht, dass nur eine bestimmte Schreibweise das Designmuster ist. Nehmen wir zum Beispiel das Adaptermuster, wir müssen darauf achten, was das Adaptermuster ist und nicht, wie das Adaptermuster geschrieben wird Zum Adaptermuster ist es nicht das Adaptermuster. Denken Sie daran: Wenn Sie Designmuster lernen, werden Sie auf jeden Fall ein tieferes Verständnis für die im Code verwendeten Designmuster haben.
"Detailliertes Verständnis der Java Virtual Machine: Erweiterte Funktionen und Best Practices von JVM"
Ich kann dieses Buch in einem Wort zusammenfassen: vollständig. Es ist wirklich umfassend, einschließlich HTTP, DNS, CDN, Static, Jetty, Tomcat, Servlet, Spring, MyBatis usw. Es deckt ein breites Wissensspektrum ab, ist aber nicht wie ein Buch, das sich auf ein bestimmtes Thema konzentriert Wissenspunkt Die Erklärung ist sehr ausführlich, und ich denke, dass dieses Buch versucht, einige der Insider-Geschichten der von Java Web verwendeten Technologien kurz zu erklären, damit die Leser ein rationales Verständnis der Technik erhalten Insider-Geschichten zu diesen Wissenspunkten.
Obwohl für jeden Wissenspunkt nicht viel Platz vorhanden ist, werden die wichtigsten Punkte im Wesentlichen abgedeckt. Es ist ein Buch, das wirklich lohnend ist. Wenn Sie mehr über die technischen Details dieser Technologien erfahren möchten, müssen Sie entsprechende Bücher kaufen oder die Informationen selbst online überprüfen. Es fühlt sich an, als würden Sie versuchen, neue Ideen anzuziehen, oder als würde ein Meister Sie hineinführen, und Sie übe es selbst.
"Grundprinzipien und Fallanalyse der technischen Architektur großer Websites"
Ein Teil des Inhalts dieses Buches überschneidet sich mit dem vorherigen Buch „Kernprinzipien und Fallanalyse der technischen Architektur großer Websites“ von Li Zhihui, wie z. B. die Entwicklung verteilter Systeme, CDN, CAP-Theorie und BASE-Theorie. usw. Dies zeigt auch, dass es sich um verteilte Systeme oder den Schwerpunkt einer großen Website handelt. Es ist nicht schlecht, sie erneut zu lernen.
Der wichtigste Punkt, der in diesem Buch hervorgehoben werden soll, ist das Wort Middleware. Seine wichtigste Rolle sollte die Entkopplung und Reduzierung der Abhängigkeit zwischen Modulen sein wird reduziert und jeder kann seine eigenen Funktionen unabhängig entwickeln. Dies kann auch als Ziel und treibende Kraft der Softwareentwicklung bezeichnet werden.
Daher basiert ein Teil des Inhalts dieses Buches auf Middleware und erläutert ausführlich verschiedene Kenntnisse über Middleware und JMS. Es eignet sich für Leser, die mit verteilten Systemen vertraut sind und etwas über Middleware recherchieren möchten. .
„Von Paxos zu ZooKeeper verteilten Konsistenzprinzipien und -praktiken“
Das Spring-Framework ist so gut gemacht und seine Funktionen sind so leistungsstark, dass viele Entwickler nur Spring kennen und nicht wissen, was eine Factory, ein Singleton und ein Agent ist (meine echte Erfahrung in andere interviewen). Dieses leistungsstarke Framework muss über eine sehr komplexe Implementierung verfügen. Dies führt zu Problemen, sobald Ihr Programm Spring verwendet. Es kann ein Fehler sein, es kann eine Ausnahme sein, es kann sein, dass das Ergebnis der Programmausführung nicht Ihren Erwartungen entspricht und so weiter . Manchmal werden Sie verwirrt sein, außer Informationen online zu prüfen oder andere zu fragen.
Das Studium des Quellcodes von Spring ist meiner Meinung nach eine gute Möglichkeit, dies zu lernen:
1. Nachdem Sie die interne Implementierung des Frameworks verstanden haben, können Sie die Initiative ergreifen, um Probleme zu lösen , und Sie müssen sich nicht auf andere verlassen
2. Die interne Implementierung des Spring-Frameworks verwendet viele Designmuster und gute Code-Designideen. Dies wird Ihr Code-Schreiben und Ihr Verständnis von Designmustern erheblich verbessern 🎜>
3. Das Studium des Spring-Frameworks wird Ihre Fähigkeit, Code zu lesen, erheblich verbessern. Ich glaube, dass der Quellcode eines anderen Frameworks für Sie nicht schwierig sein wird, solange Sie klar lernen können, wie Spring intern implementiert ist 🎜>Alles in allem denke ich, dass die Fähigkeit, Code zu lesen, einer der größten Unterschiede zwischen einem gewöhnlichen Programmierer und einem guten Programmierer ist. Ersterer wird nur das verwenden, was andere geschrieben haben, während letzterer es nicht nur gut verwenden kann , sondern auch genau wissen, wie die unterste Ebene der von anderen geschriebenen Dinge umgesetzt wird, kann Probleme leicht lösen, wenn sie auftreten.
Spring-Quellcode, ich persönlich empfehle das Buch „Eingehende Analyse des Spring-Quellcodes“. Wenn Sie es wirklich gründlich studieren und den Spring-Quellcode klar aufschreiben möchten, befürchte ich, dass es drei oder vier sind Bücher sind nicht genug. Der Autor hat auf fast 400 Seiten sein Bestes gegeben. Es ist nicht einfach, die Implementierung des Spring-Quellcodes zu erklären ihnen ein tieferes Verständnis der Spring-Implementierung.
PostscriptDie oben genannten sind einige gute, lesenswerte Bücher, die ich Java-Entwicklern empfehle. Aber es gibt keine Java-Grundlagen oder Java-Tutorials in diesen Büchern. Es ist nicht so, dass ich es nicht empfehlen würde, aber es ist mehrere Jahre her, seit ich die grundlegende Java-Technologie selbst gelernt habe, also habe ich alles vergessen, was ich gelesen habe Ich empfehle nicht verantwortungslos jedem einige Bücher, die ich selbst nicht gelesen habe.
Achtung Studierende, die Java lernen! ! !
Wenn Sie während des Lernprozesses auf Probleme stoßen oder Lernressourcen erhalten möchten, können Sie gerne der Java-Lernaustauschgruppe beitreten: 299541275 Lassen Sie uns gemeinsam Java lernen !
Das obige ist der detaillierte Inhalt vonWie man ein Top-Java-Programmierer wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!