En tant que programmeur Java, le plus pénible est que l'éventail de choix est trop large, qu'il y a trop de livres à lire et qu'il est souvent facile d'être perdu. Je voudrais sélectionner certains des livres techniques que j'ai lus et les recommander à tout le monde par ordre d'apprentissage, en particulier aux programmeurs Java qui souhaitent améliorer continuellement leur niveau technique.
1. Introduction à la programmation Java
Pour les programmeurs sans expérience en programmation Java, cela revient à lire n'importe quel livre d'introduction. Cette étape vous oblige à maîtriser rapidement la syntaxe de base et l'utilisation de base de Java. Le but est "Avalez-le sans demander une compréhension plus approfondie", familiarisez-vous d'abord avec Java. Utilisez un peu de temps pour parcourir rapidement la syntaxe Java et écrire plus de codes sans deviner. Vous devez « savoir ce que c'est ».
1. « Réflexions sur la programmation Java »
Après avoir acquis une certaine expérience en programmation Java, vous devez « savoir pourquoi ». À l'heure actuelle, "Java Programming Thoughts" est un bon livre pour vous expliquer pourquoi. Il contient une explication claire des connaissances de base orientées objet, de la syntaxe Java de base et des bibliothèques de classes de base, et peut vous aider à résoudre le problème. base en programmation Java. L'inconvénient de ce livre est qu'il est trop épais et verbeux et ne convient pas à l'apprentissage rapide des gens modernes. Par conséquent, vous devez savoir quoi choisir lors de la lecture de ce livre. Tous les chapitres et sections ne valent pas la peine d'être lus. concentrez-vous sur les points clés et lisez en profondeur.
2. Version chinoise de "Agile Java"
Ce livre m'a été offert par l'éditeur, je l'ai mis sur l'étagère et je l'ai mis sur la bibliothèque sans tourner une page. quand j'organisais la bibliothèque il y a deux jours, je l'ai sortie et feuilletée, et j'ai découvert que c'était définitivement un bon livre ! Une caractéristique majeure de ce livre est que les tests unitaires et TDD sont utilisés tout au long du livre. Dans le processus de vous enseigner diverses connaissances de base importantes de Java, cela influencera subtilement votre réflexion en matière de programmation pour devenir agile et évoluer vers TDD. De plus, ce livre est très nouveau. Il est basé sur la syntaxe du JDK5.0. Il est également bon d'apprendre la nouvelle syntaxe du JDK5.0. De plus, ce livre est également très approprié dans sa sélection de contenu. Après tout, le langage Java possède une énorme bibliothèque de classes et il y a trop de contenu pour en parler. La sélection et la quantité de contenu de ce livre sont très appropriées, ce qui vous permet de le faire. pour maîtriser les aspects les plus importants de Java en un minimum de temps. C'est un livre rare et bon qui fournit des connaissances importantes et cultive d'excellentes idées de programmation.
Bien que l'auteur lui-même positionne ce livre au niveau de l'introduction, je ne suis pas sûr que ce livre soit un peu approfondi à des fins d'introduction. Je vais aussi lire ce livre et étudier quand j'aurai le temps.
2. Cours de programmation Java avancé
Pour établir une bonne base Java, vous devez accumuler plus d'expérience pratique. Je ne pense pas qu'il existe de raccourci. Il existe deux livres qui valent la peine d'être lus à ce stade de votre carrière de programmeur pour développer de bonnes habitudes de programmation et améliorer la qualité de votre code.
1. "Refactoring : Améliorer la conception du code existant"
Ce livre est très célèbre et n'a pas besoin d'être présenté. Vous pouvez le lire pendant votre temps libre et le vérifier avec votre propre pratique. Ce livre a un impact subtil sur vous.
2. "Développement piloté par les tests par l'exemple"
La plus grande caractéristique de ce livre est qu'il est très fin et ne semble pas encombrant. Vous pouvez trouver un après-midi de week-end, lire et suivre les instructions en même temps, et terminer la lecture du livre en un après-midi. Vous aurez terminé tous les exemples de ce livre. Le but de ce livre est de vous permettre de développer des idées TDD à travers des combats pratiques.
3. La route vers l'architecte Java
À ce stade, vous devez être très compétent dans l'utilisation de la programmation Java et avoir une bonne idée et de bonnes habitudes de programmation, mais il vous manque peut-être encore l'architecture globale du logiciel d'application. c’est maintenant votre premier pas pour devenir architecte.
1. "Expert One-on-One J2EE Design and Development"
Ce livre est le célèbre livre de Rod Johnson. Il est très classique du code de ce livre. Mais il semble qu’il n’existe pas de traduction chinoise de ce livre.
2. "Développement J2EE expert individuel sans EJB"
Ce livre a été traduit par gigix, avec la participation de nombreux experts de l'industrie. Bien que le traducteur signé soit JavaEye, en fait JavaEye n'a pas beaucoup contribué, et c'est vraiment ennuyeux. Le nom du traducteur.
Les deux livres ci-dessus sont des classiques de Rod Johnson et des livres incontournables pour les architectes Java. Parmi les livres que je recommande, c'est le livre le plus soigné et le plus sérieux que j'ai jamais lu. Quand j'ai lu ce livre, j'ai presque oublié tout le sommeil et la nourriture et je l'ai lu d'un seul coup, j'avais la même énergie que lorsque j'étais enfant. , en lisant les romans d'arts martiaux de Jin Yong la nuit. Le contenu mentionné a été confirmé un par un avec ma propre expérience et mes connaissances, et il a été résumé de manière extrêmement incisive. Après avoir lu ce livre, j'ai eu l'impression que mes méridiens s'étaient ouverts et. mes compétences avaient explosé.
Mais ensuite, j'ai lu les critiques d'autres personnes et il semble que l'expérience de lecture n'est pas aussi élevée que la mienne. C'est peut-être parce que l'accumulation de connaissances et l'expérience de chacun sont différentes. A cette époque, j'avais accumulé suffisamment d'expérience et de connaissances, mais je ne les avais pas encore organisées systématiquement. Avec ce livre, j'ai immédiatement formé un système de connaissances complet.
3. "Enterprise Application Architecture Patterns"
Un autre livre célèbre de Martin, mais je n'ai lu ce livre qu'en général et je ne l'ai pas lu attentivement. Ce livre semble plus adapté aux personnes qui créent des frameworks. Par exemple, si vous envisagez d'écrire un ORM vous-même, ce livre est une lecture incontournable. Mais pour les personnes qui créent des applications, cela n'a pas d'importance s'ils ne le regardent pas. Cependant, si vous avez le temps, je recommande quand même de l'examiner sérieusement. Cela vous permettra de savoir pourquoi le framework est conçu de cette façon. , afin que votre niveau puisse être promu au point de vue d'un concepteur de cadre pour réfléchir aux problèmes. J'ai toujours admiré les livres de Martin, mais je ne les ai jamais lus aussi sérieusement que ceux de Rod Johnson.
4. "Principes, modèles et pratiques de développement logiciel agile"
Le célèbre livre d'Oncle Bob, un chef-d'œuvre classique de l'agile. Ce livre est assez spécial. Ce n'est pas tant un livre sur le processus de développement logiciel, mais un livre sur l'architecture logicielle. Ce livre passe beaucoup de temps à parler de divers objets. logiciels orientés. Concernant les différents modèles de développement, je pense personnellement qu'après avoir lu ce livre, vous n'avez pas besoin de lire les "Design Patterns" de GoF.
4. Processus de développement logiciel
Comprendre le processus de développement logiciel ne sert pas seulement à améliorer les bonnes habitudes de programmation des programmeurs individuels, mais constitue également la base d'une meilleure collaboration en équipe.
1. "L'essence d'UML"
UML n'a en fait aucun lien nécessaire avec le processus de développement logiciel, mais c'est un outil nécessaire aux équipes logicielles pour collaborer, communiquer et rédiger des documents logiciels. Cependant, il n'existe pas beaucoup de diagrammes vraiment pratiques d'UML. Il suffit de lire ce livre. Il n'est pas nécessaire de lire quelque chose comme le "Guide de l'utilisateur UML". Je voudrais rappeler à tous que la traduction chinoise de ce livre est très mal traduite. Il est recommandé de lire si possible la version originale anglaise.
2. "Analyse de la programmation extrême et adoption du changement" XP
Il s'agit de la deuxième édition du célèbre livre de Kent Beck, en chinois et en anglais. Pas grand chose à dire, un livre à lire absolument.
3. "Processus de développement logiciel unifié" UP
En fait, UP et agile ne sont pas nécessairement en conflit. UP met également l'accent sur l'itération et les tests, mais la documentation et le processus mis en avant par UP ne sont pas adoptés par agile. Dans tous les cas, UP vaut la peine d'être lu. Après tout, il y a très peu d'entreprises en Chine qui acceptent vraiment l'agilité. Vous devez quand même vous armer d'UP, même si XP porte UP.
4. "Agile Modeling" AM
Le célèbre livre de Scott Ambler, ce livre est très progmatique. Il vous explique comment être à la fois agile et UP, et met également en avant de nombreuses suggestions et pratiques programmatiques. . Vous pouvez lire ensemble les trois livres "Analysis of Extreme Programming and Embrace Change", "Unified Software Development Process" et "Agile Modeling" pour voir les différences entre XP et UP, puis voir comment AM unifie XP et UP et les intègre. trois théories en une et formez votre propre système théorique, vous pouvez alors également écrire un livre.
5. Gestion de projet logiciel
Si vous êtes soudainement promu chef de projet par votre leader et que vous n'avez aucune expérience en gestion de projet, vous vous sentirez certainement incertain si vous sentez que vous ne gérez pas bien le projet ; , vous souhaitez améliorer votre capacité de gestion de projet, alors passer l'examen PMP ne étanchera certainement pas votre soif.
1. "Rapid Software Development"
C'est aussi un livre célèbre. On peut dire qu'avec ce livre en main, vous aurez un consultant senior en gestion de projet pour vous conseiller, et vous n'aurez plus à vous soucier de votre propre incompétence. Ce livre ne concerne pas la théorie de la gestion. Dans la gestion de projet réelle, parler de ces théories ne résoudra pas le problème. Ce livre est quelque peu similaire à une « Collection complète d'idées de projets logiciels », répertoriant divers problèmes rencontrés dans les projets logiciels. des idées sur la façon de les résoudre, il vous suffit d'apporter quelques modifications et de trouver des ordonnances et des médicaments.
6. Résumé
Dans cette liste de livres de lecture recommandés, je n'ai pas répertorié les livres d'apprentissage des frameworks logiciels populaires, tels que Struts, hibernate, spring, etc., ni les livres sur AJAX. En effet, ces livres ont tendance à devenir obsolètes et la plupart des livres mentionnés ci-dessus ont un cycle de vie suffisamment long pour qu'ils valent la peine d'être achetés et collectionnés.
1. Bases du langage Java
Lorsqu'il s'agit de livres sur l'apprentissage de base du langage Java, tout le monde recommandera certainement "Thinking in Java" de Bruce Eckel. Il s'agit d'un livre technique très approfondi, écrit fondamentalement, aucun autre livre ne peut le surpasser dans les bases du langage Java. L'auteur du livre, Bruce Eckel, est connu comme un spéculateur de génie sur Internet. Son livre "Thinking in C++" a remporté le Software Development Jolt Award du meilleur livre en 1995, et "Thinking in Java" a été nommé "Java World". " en 1999. Livres de bienvenue des lecteurs préférés " et a remporté le Editors' Choice Book Award. Depuis 1986, l'auteur a publié plus de 150 articles sur la technologie informatique, 6 livres (dont 4 sur le C++), et a donné des centaines de conférences à travers le monde. Il est l'auteur de "Thinking in Java", "Thinking in C++", "C++ Inside & Out", "Using C++" et "Thinking in Patterns", et est l'éditeur de l'anthologie "Black Belt C++". Ses livres ont été qualifiés de « le meilleur livre de référence Java... absolument choquant » ; « le choix le plus intelligent pour acheter un livre de référence Java » ; « le meilleur guide de programmation que j'ai jamais vu ». Le talent extraordinaire de l'auteur et sa capacité à couvrir plusieurs langages ont fait de l'auteur une des 10 personnes les plus étroitement liées à Java au cours des 10 années de développement de Java.
"Penser en Java" parle de tous les aspects du langage Java. De nombreux vétérans du langage Java ont commenté que "c'est un livre qui parle du langage Java d'une manière plutôt moche". Le livre parle de nombreux détails du langage Java, et chaque aspect est assez profond. Grâce à ce livre, vous pouvez voir le « laid » langage Java.
Il existe de nombreuses vidéos sur Internet sur les explications du langage Java, et certaines d'entre elles sont nulles. "Weng Kai - JAVA Language" peut être votre seul choix pour apprendre les bases du langage Java. Cette conférence est essentiellement basée sur le livre "Penser en Java" et contient de nombreuses blagues intéressantes du professeur Weng. J'ai tellement de chance que mon apprentissage ait commencé avec cette vidéo. Le contenu comprend 30 conférences, et je l'ai lu 3 fois au total.
Cependant, pour les débutants, je ne recommande pas "Thinking in Java". Je préfère "Core Java 2" de Prentice Hall PTR, qui s'appelle "Java 2 Core Technology" en Chine et en est actuellement à sa septième édition. Tout le monde sur Internet peut télécharger la version électronique. "Java en bref" d'Oreilly est également un bon choix. Après avoir lu les deux livres ci-dessus, vous pouvez regarder la vidéo du professeur Weng Kai, puis étudier « Penser en Java ».
2. Structure de données Java
Il existe très peu de livres sur la structure de données Java sur le marché. Il existe à peu près "Java Collections" d'APress, "Data Structures in Java", "Object-Oriented Data Structures Using Java" de Jones et Bartlett et "Data Structures and Algorithms in Java" publiés par Prentice Hall (19 décembre 2005). Il s'agit de "Structures de données et algorithmes avec des modèles de conception orientés objet en Java". J'ai beaucoup de chance que mon premier livre en anglais soit "Java Collections" d'APress (ce livre n'a peut-être pas du tout de version chinoise en Chine - vous ne pouvez télécharger que la version anglaise). C'est très logique et simple. Une introduction complète à l'API Java Collections, avec de nombreux exemples d'extension de l'API. C'est le seul bon livre que je vous recommande pour apprendre les structures de données Java. Il semble y avoir une version chinoise des deux autres livres de Jones et Bartlett en Chine, vous pouvez donc y jeter un œil si vous le souhaitez.
Après avoir appris l'API, vous pouvez consulter les classes correspondantes dans le package java.util. Cependant, ce n'est qu'après avoir appris les modèles de conception que vous pourrez comprendre pleinement l'ensemble du framework Java Collections. Java Collections Framework utilise de nombreux modèles de conception bien connus tels que : le modèle d'itérateur (Iterator), le modèle de méthode d'usine, le modèle de décorateur, le modèle d'adaptateur, etc. En étudiant le code source de la structure de données dans le package java.util, vous pouvez connaître la conception de la tristement célèbre classe Properties, et en même temps, vous pouvez fondamentalement avoir la capacité de concevoir des structures de données simples.
On dit qu'il n'y a pas de fin à l'apprentissage. Après avoir étudié le Java Collections Framework fourni par Sun, vous pouvez étudier un autre Java Collections Framework d'Apche, qui est très intéressant. Deux cadres qui se complètent.
Avant que tout le monde n'apprenne et étudie les collections Java, je voudrais vous rappeler que les collections Java comprennent principalement les trois parties suivantes : Interface, Implémentation et Algorithme.
1. Les principales interfaces sont List, Set, Queue et Map. List, Set et Queue sont des sous-interfaces de l'interface Collection.
2. L'implémentation concerne principalement les classes concrètes qui implémentent ces interfaces. Par exemple, ArrayList, LinkedList, Stack et Vector qui implémentent l'interface List ; HashSet, TreeSet et LinkedHashSet qui implémentent l'interface Set ; PriorityQueue, SynchronousQueue, etc. qui implémentent l'interface Queue, TreeMap, Hashtable, Properties, WeakHashMap, etc. . qui implémentent l’interface Map.
3. L'algorithme est principalement fourni par la classe Arrays et la classe Collections, qui constituent le cœur de l'ensemble de l'algorithme Java Collection Framework. Prend en charge divers types d'opérations courantes telles que le tri et la recherche.
Java Collections contient deux versions de structures de données, principalement la structure de données d'origine qui prend en charge la synchronisation et la structure de données ultérieure qui ne prend pas en charge la synchronisation.
Java Collection Framework prend en charge le tri à l'aide des interfaces Comparator et Comparable. Les anciennes et nouvelles versions d'Iterator et d'Enumeraton sont fournies, ainsi que la manière dont elles sont converties, etc.
L'interface Observable et la classe Observer du package java.util sont au cœur du modèle d'observateur.
……
Les écrits d'Harold. Les styles des deux livres sont fondamentalement les mêmes. La lecture recommandée est la première édition de "Jvava I/O". L'explication est relativement simple, le contenu est relativement concentré et les exemples sont nombreux. La deuxième édition a été publiée à l'étranger en mai de cette année. Heureusement, j'ai téléchargé la deuxième édition sur Internet. Elle est extrêmement détaillée - 726 pages (cette fois, NIO et IO sont combinés). la partie J2ME, mais la partie communication du port série et du port parallèle semble avoir une prise en charge insuffisante de la bibliothèque de classes, et je ne peux pas réellement la faire fonctionner.
Parallèlement à la première édition de "Jvava I/O", Oreilly propose également un livre "Jvava NIO", qui est également très bon.
Après avoir lu "Jvava I/O" et "Jvava NIO" dans l'ordre, vous pouvez étudier le code source dans le package java.io. Avant d'étudier le code source, laissez-moi vous donner quelques conseils :
Le package io de Java comprend principalement :
1. , ces deux courants n'ont pas la soi-disant théorie de savoir qui remplace l'autre ou qui est supérieur à l'autre. Ils se complètent, mais ils ont des objectifs différents.
2. Il existe deux types de symétrie : 1. Symétrie du flux d'octets et du flux de caractères ; 2. Symétrie de l'entrée et de la sortie.
3. Un pont : InputStreamReader et OutputStreamWriter qui convertissent les flux d'octets en flux de caractères.
Il faut noter :
1. PipedInputStream et PipedOutputStrem sont deux classes intéressantes.
2. Le flux qui prend en charge Buffered est une classe que nous utilisons souvent.
3. L'application la plus connue du modèle Decorator en Java concerne la conception io. Étudiez attentivement la relation entre chaque flux de filtre et le flux spécifique, et lisez d'autres livres sur les modèles de conception. Je crois que vous gagnerez quelque chose.
4. Bien apprendre le package io est la base pour étudier le package net, le package rmi...!
4. Base de données Java
Il y a trop de livres de bases de données, et ils sont dommage ! J'ai essentiellement étudié tous les livres dans ce domaine. Je vous recommande de lire "JDBC Recipes A Problem Solution Approach" d'Apress. Il n'a été publié que fin 2005 à l'étranger. une version chinoise en Chine, mais ce n'est pas nécessairement une version chinoise. Cela vaut la peine d'être lu (les traductions nationales de livres étrangers sont souvent compliquées et illisibles). Mais nous avons vraiment de la chance qu'il existe des versions électroniques sur Internet. Ça vaut le coup d'oeil. Je recommande le premier livre que j'ai lu et dont j'ai été assez satisfait - "Java Database Bible" publié par Wiley, qui est très bien ! Le livre de Sun "JDBC API Tutorial and Refernece" qui présente l'API JDBC est également intéressant. Mon deuxième livre JDBC portait sur cet ensemble d'API.
Mais à l'heure actuelle, ces livres sont des livres d'application API relativement superficiels. Quand j'en aurai l'occasion, je vous apporterai un livre présentant l'API JDBC et les détails internes de l'implémentation de JDBC ! Je vais travailler dur dès que possible et j'espère obtenir le soutien de tous !
Au fait, un conseil pour les amis qui apprennent JDBC :
Le principal moyen d'apprendre et d'utiliser JDBC est cet ensemble d'API, et son processus d'utilisation est également extrêmement simple. est le processus général d'utilisation de JDBC :
1 Pour charger le pilote (classe Driver) d'une certaine base de données, utilisez généralement Class.forName ("nom de classe du pilote");
2. Connectez-vous à la base de données -
Connection con = DriverManager.getConnection(url, username, password);executeQuery("SQL query Statement");
…
}
Tout simplement ! Ce qui peut être modifié dans l'ensemble du JDBC est généralement :
1 Il existe trois types d'instructions qui peuvent être créées par l'objet Connection : Statement, PreparedStatement et CallableStatement.
2. Vous pouvez créer plusieurs types d'ensembles de résultats : prend en charge le mouvement unidirectionnel et la libre circulation ; peut être mis à jour et non modifiable ; prend en charge différents niveaux de transactions...
3. saisie de données.
4. Opérations sur les colonnes de types spéciaux (Blob, Clob, Arrary, Ref, Struct) dans le jeu de résultats.
5. Ces types spéciaux de bases de données d'entrée.
6. Opérations sur des ensembles de résultats spéciaux (CachedRowSet, JdbcRowSet, WebRowSet) dans le package javax.sql.
7. L'autre est une DataSource, qui est également très simple ! Un objet géré en J2EE
Simple ! Je pense que tout le monde va bientôt conquérir JDBC.
5. Programmation réseau Java
Programmation réseau - une direction mystérieuse et stimulante. Mais avant de parler de programmation réseau Java, je voudrais tout d'abord remercier les développeurs de Sun Company, car leurs idées géniales et leur architecture intelligente ont permis à la majorité des programmeurs Java d'apprendre extrêmement facilement la programmation réseau Java.
Pour les livres sur la programmation réseau Java, je recommande "Java Network Programming" d'O'Reilly, qui en est actuellement à sa troisième édition. Les versions précédentes sont définitivement disponibles sur le marché ! Il existe déjà une version électronique de la troisième édition sur Internet. Elle a été publiée à l'étranger en 2004 et compte 706 pages ! Il est très complet et approfondi. S'il est trop approfondi, c'est peut-être parce que certaines choses de Sun n'ont pas été entièrement divulguées, donc c'est difficile à expliquer. Si vous êtes intéressé, vous pouvez le télécharger et en prendre un. regarder! Le deuxième livre est "Java Distributed Computing" publié par O'Reilly en 1998. La partie de base est écrite plus en détail et les exemples suivants méritent toujours d'être étudiés.
Avant de lire ces livres, laissez-moi vous donner un conseil :
La programmation réseau Java est en fait relativement simple et se démarre rapidement. La programmation réseau Java comprend principalement deux parties : 1.Socket 2.Partie URL. Mais la deuxième partie est également entièrement basée sur la première partie.
1. Socket inclut Socket côté client et ServerSocket côté serveur. Il existe également DatagramSocket et DatagramPacket, qui correspondent au protocole de communication UDP. Bref, la partie Socket constitue la base pour établir d’autres protocoles avancés.
2. La classe URL est un localisateur de ressources réseau, généralement lié à des protocoles réseau spécifiques tels que HTTP, FTP, Telnet... Grâce à cette classe, vous pouvez vous connecter aux ressources du réseau. Grâce à son openStream, vous pouvez lire les ressources du réseau sous la forme d'un flux (InputStream) dans le package io, grâce à sa méthode OpenConnection, vous pouvez ouvrir une connexion sur laquelle vous pouvez accéder. Vous pouvez non seulement terminer l'opération de lecture, mais vous pouvez également terminer l'opération d'écriture.
La programmation réseau Java comprend généralement les deux parties ci-dessus. La programmation réseau est très étroitement liée aux IO et au multithreading. Vous devez avoir une compréhension approfondie de ces deux parties avant d'étudier cette partie.
Après avoir appris les parties ci-dessus, vous pouvez étudier le code source associé dans le package java.net ! Il est trop tôt pour étudier tout le code source. L'ensemble du package net contient : ContentHandlerFactory, URLStreamHandlerFactory, URLStreamHandler, URLClassLoader et d'autres classes auxiliaires, qui forment le cadre de la programmation réseau java.net. En étudiant son code source, vous pouvez non seulement comprendre rapidement le package java.net, mais également le développer. pour l'avenir. Ce package pose les bases pour même appliquer cette façon de penser à vos propres projets.
À l'heure actuelle, vous ne devriez comprendre que 60 % du package java.net. Pour certains d'entre eux, vous pouvez utiliser un logiciel de décompilation tel que JDecompiler pour ouvrir rt.jar dans le répertoire jdkxxxjrelib de votre répertoire d'installation JDK, et utiliser le logiciel WinRAR comme celui-ci ouvre son package sun.net, décompile tous les fichiers, et c'est la classe URL qui fonctionne en détail. Après avoir étudié le package sun.net, vous serez très familier avec l'ensemble de la programmation réseau.
Il semble que nous maîtrisons déjà la programmation réseau. En fait, ce n’est que le début. Si vous souhaitez approfondir, continuez ! Il existe de nombreuses excellentes bibliothèques de programmation réseau et même des logiciels sur Internet qui peuvent nous « ajouter de la puissance ». Par exemple, HttpCore et HTTPConnection d'Apache sont deux bibliothèques liées au protocole HTTP ; JGroups est une bibliothèque incontournable pour étudier la communication distribuée et la communication de groupe ; nous pouvons alors étudier les progiciels P2P, tels que JXTA de Sun, qui peut être une plate-forme Java ; Le futur standard de la communication point à point ! Ensuite, vous pourrez étudier le logiciel P2P Azureus, extrêmement mature et largement utilisé ! www.sourceforge.net peut être téléchargé !
Un voyage de mille kilomètres commence par un seul pas ! Fais-le c'est tout! (Pour l'instant, je n'ai étudié que le package net, et je continuerai à approfondir les autres dans un avenir proche. Sun n'a pas divulgué d'autres détails d'implémentation de net pour certaines raisons. Il permet d'étudier son code source sous forme de texte. , et permet En écrivant son implémentation non publiée dans le livre, j'espère vraiment publier un livre sur la programmation réseau Java pour les lecteurs ! )
6. Servlet et JSP
Servlet , livres JSP ! sont aussi partout ! Il n’y a que deux ou trois livres à recommander. Je recommande fortement "Servlets and JavaServer pages: The J2EE Technology Web Tier" d'Addison Wiley, c'est un autre livre très épais ! Publié à l'étranger en 2003, il compte 784 pages. Il donne une explication relativement complète et de nombreux exemples, notamment le chapitre 8 Filter, qui donne plusieurs bons exemples. Tous les autres livres sur les Servlets et JSP que j'ai vus ne sont pas aussi approfondis ! (Peut-être que je ne l'ai tout simplement pas vu). La « Programmation des servlets Java » et les « Pages du serveur Java » d'O'reilly sont relativement faciles à comprendre, vous pouvez les lire !
Avant que tout le monde n'apprenne Servlet et Jsp, je tiens quand même à vous rappeler :
Essentiellement, Servlet est un programme côté serveur qui implémente l'interface Servlet et est déployé côté serveur ! Il peut être écrit comme n'importe quelle autre application Java. Il peut faire fonctionner des bases de données, gérer des fichiers locaux et connecter des EJB locaux... Le processus général d'écriture de programmes Servlet est le suivant :
1 Hériter d'une classe HttpServlet ; >
2. Remplacez ses méthodes doGet et doPost
3. Dans les paramètres de méthode de fonctionnement interne HttpServletRequest et HttpServletResponse de la méthode remplacée.
4. Les requêtes de lecture utilisent HttpServletRequest. En utilisant HttpServletRequest, vous pouvez utiliser l'en-tête du protocole Http, obtenir la méthode de fonctionnement de la requête, obtenir le chemin de la requête, obtenir la chaîne de la requête et les informations relatives au client demandeur. Objets Cookie et HttpSession.
5. En utilisant Cookie, vous pouvez utiliser l'objet "sweetheart" ou l'écrire dans HttpServletResponse.
6. Vous pouvez utiliser HttpServletResponse pour envoyer des informations aux clients. À l'aide de HttpServletResponse, vous pouvez écrire différents types d'en-têtes de protocole, ajouter des cookies, rediriger d'autres URL et envoyer des codes d'état du protocole Http aux clients.
7. Utilisez HttpSession pour compléter toute fonction que vous souhaitez implémenter au sein de la session.
En même temps, Servlet propose également des événements et des écouteurs d'événements (juste un simple mode observateur). Il existe également des filtres et des wrappers (ServletRequestWrapper, ServletResponseWrapper) - l'utilisation de flux simples et l'utilisation du mode décorateur.
Pour apprendre Sevlet et JSP, vous devez les déployer sur le serveur. N'oubliez pas les étapes habituelles de déploiement de fichiers et les paramètres des paramètres et comment les utiliser dans le programme.
Après avoir parfaitement compris Servlet, il est relativement facile d'apprendre jsp ! Jsp est entièrement basé sur Servlet. Il est conçu pour répondre aux besoins des programmeurs qui aiment intégrer des scripts dans des documents HTML (tels que les langages de programmation Web comme PHP) ! C’est aussi assez facile à apprendre !
Tout semble si calme et facile à apprendre ! Derrière cette apparence simple se cache un mécanisme complexe. Si vous souhaitez étudier en profondeur Servlet et Jsp, vous devez étudier l'implémentation spécifique de logiciels open source tels que Tomcat. Ce n'est rien de plus qu'un serveur. Une fois que le client a utilisé la page Web pour envoyer une requête au serveur via le protocole HTTP, le serveur convertit la requête HTTP en l'objet HttpServletRequest correspondant et appelle le servlet que vous avez écrit. HttpServletRequest dans votre Servlet. Eh bien, si vous utilisez HttpServletResponse en même temps, le serveur enverra cette HttpServletResponse à votre navigateur en utilisant le protocole HTTP conformément aux exigences du protocole HTTP ! Une fois que la page Web Jsp côté serveur a été demandée par le client, Tomcat utilisera le logiciel de compilation et utilisera le modèle du package javax.servlet.jsp pour compiler le fichier jsp. Après la compilation, ce sera un servlet ! Les opérations suivantes sont exactement les mêmes que celles de Servlet !
Basées sur Servlet et Jsp, les technologies dites avancées : JSTL, Struts... ne sont rien d'autre que l'utilisation de quelques balises et modèles MVC.
Continuez à avancer ! La victoire nous attend ! !
7. Multi-threading
Une direction qui paraît mystérieuse mais qui est facile à démarrer et difficile à maîtriser !
Je vous recommande deux livres qui me font du bien. Tout d'abord, c'est le premier livre dans ce domaine que j'ai pu lire, "Java Thread Programming" publié par Sams en 1998. Il était très bien écrit et facile à lire, je lisais souvent mes notes à cette époque. ayez le temps ! Si vous voulez savoir comment faire, voyez par vous-même ! Le deuxième livre "Java Threads" a été publié trois fois par OReilly. Le dernier est l'édition 2004. Il semble y avoir une version chinoise en Chine. Je vous recommande de lire la version anglaise. Le livre parle de N directions liées au multi-threading, telles que IO, Swing, Collection, etc.
Laissez-moi vous donner quelques conseils ! Il n'y a pas beaucoup de classes liées au multithreading dans la bibliothèque de classes Java, comprenant principalement : Thread, ThreadGroup, ThreadLocal et InheritableThreadLocal, quatre classes et une interface Runnable avec les mots clés synchroniser, volatile et les méthodes wait, notify, notifyAll de l'objet Object ; !
1 Thread est la classe principale du multi-threading, fournissant une série de méthodes pour créer et exploiter des multi-threads.
2 ThreadGroup est une classe d'outils pour gérer les Threads.
3 ThreadLocal et InheritableThreadLocal fournissent à Thread une fonction sécurisée pour stocker les objets de thread !
4 Inutile de dire Runnable !
5 Synchroniser est le cœur des méthodes de synchronisation et des blocs de synchronisation ! Lorsque plusieurs threads appellent cette méthode, un seul thread peut utiliser cette méthode et les autres méthodes sont bloquées, garantissant ainsi l'intégrité de l'état interne de l'objet exploité. Lorsqu'un thread appelle une méthode ou un bloc avec synchroniser, il obtiendra le verrou d'objet de l'objet. Après avoir terminé l'opération dans le bloc, le verrou d'objet est libéré, afin que d'autres objets puissent continuer à fonctionner.
6 attendre, notifier et notifierTous fournissent des mécanismes d'attente/notification efficaces. Chaque objet du langage Java a une salle de repos. Si l'état de l'objet qu'il exploite n'est pas satisfait, n'importe quel thread se reposera dans la salle de repos de l'objet et libérera le verrou de l'objet lorsque d'autres threads exploiteront l'objet, ils se réveilleront ; se lever et se reposer. Les threads dans la pièce vérifient ensuite les conditions et effectuent les opérations correspondantes lorsque les conditions sont remplies.
Il y a fondamentalement tellement de bases dans le multithreading ! N'est-ce pas simple ? Cela n'est peut-être pas suffisant pour un vrai programmeur. Pour vraiment maîtriser le multi-threading, veuillez étudier le package java.util.concurrent ! Le travail du maître Doug Lea était à l'origine une bibliothèque de programmation cohérente open source, qui a ensuite été incorporée dans la bibliothèque de classes Java par Sun. Il existe également une autre version de cette bibliothèque sur le site de l'auteur ! De bonnes choses qui valent la peine d'être étudiées ! Les logiciels open source tels que Hibernation et OpenJMS utilisent tous ce package !
8. Modèles de conception
Lorsqu'il s'agit de modèles de conception, de nombreuses personnes recommanderont GOF, qui est un livre recommandé cinq étoiles sur Amazon. Cependant, je ne recommande pas ce livre à ceux qui n'apprennent pas Java depuis longtemps, notamment aux débutants en Java. La raison principale est que les exemples du livre sont essentiellement en C++ et que de nombreux détails ne sont pas expliqués suffisamment clairement.
Le premier livre que je recommande à tout le monde est "Java and Patterns" du Dr Yan Hong. C'est le premier livre sur les modèles de conception écrit par un Chinois. Il est assez intéressant et intègre de nombreux concepts chinois. de nombreux exemples et diagrammes de classe de la culture et des concepts nationaux, et ils sont relativement simples ! Un très bon livre d'introduction - un autre gros livre !
Deuxièmement, je recommande un ensemble de trois livres de "Pattern In Java" publiés par Wiley Publishing House. Je viens de lire le premier. Il semble que le deuxième ne soit pas si bon, mais le troisième l'est. très bon!
Le troisième livre est la version traduite en chinois sur le mode multi-threading (une version de traduction chinoise rare) "Java Multi-threading Design Patterns" publiée par China Railway Publishing House en 2003, qui explique le mode multi-threading très bien. Facile à comprendre, avec beaucoup d'illustrations, d'exercices dans chaque chapitre et de réponses à la fin ! Cela a commencé mes recherches sur le mode multi-thread !
Le quatrième livre de la série Head First, "Head First Design Pattern" publié cette année, adhère aux avantages de la série de livres Head First, avec un grand nombre de diagrammes de classe, des exemples riches et des annotations. Cela vaut la peine d'être acheté !
Deuxièmement, dans le sens J2EE, vous pouvez étudier et lire "Patterns of Enterprise Application Architecture" publié par Addison Wesley en 2002. Les travaux de nombreux grands noms parlent d'intégration des informations d'entreprise ! "J2EE PATTERNS SL500" fourni par Sun est également très bon ! Il est trop tard pour recommander le livre « Holub sur les modèles » avec 4 étoiles et demie sur Amazon. Le travail du maître fournit des exemples qui méritent d'être étudiés. Cependant, les lecteurs qui ne connaissent pas très bien les quatre livres ci-dessus ne devraient pas le lire ! Cela pourrait vous fatiguer davantage !
J'ai appris les modèles de conception par un chemin très tortueux. J'ai lu environ 20 livres l'un après l'autre, j'ai lu 4 fois "Java and Patterns" du Dr Yan Hong, sans compter que je ne l'ai pratiquement pas lu. la première fois. Comprenez-le ! Je me souviens que lorsque j'étais en première année d'études supérieures, mon professeur nous enseignait le livre GOF comme cours au choix, j'y allais avec les étudiants en maîtrise et en doctorat de leur département d'informatique. Il y avait 40 à 50 personnes dans le dernier cours. et pas plus de 3 personnes l'ont compris. Moi non plus, je n'ai rien compris (les bases sont médiocres - surtout je ne comprends pas du tout le langage C++, je pensais que ma compréhension du langage Java était mauvaise). ok, donc j'ai emprunté "Java and Patterns", mais je n'ai toujours pas compris du tout. Heureusement, lorsque j'étais en troisième année d'études supérieures, j'ai écouté une conférence sur le langage Java POO donnée par le professeur Rao Ruonan de l'Université Jiao Tong de Shanghai. Après avoir compris trois modèles de conception tels que le modèle de livre combiné, je suis devenu très intéressé. dans d'autres modèles et je voulais conquérir leur désir ! Le premier livre que j'ai acheté après avoir travaillé était "Java and Patterns". Il m'a fallu 2 mois pour étudier pour la première fois cet énorme livre de plus de 1 000 pages, puis j'ai pu le terminer en 15 jours environ pour la troisième fois, et J'ai pris beaucoup de notes ! À partir de ce moment-là, c’est devenu incontrôlable.
Choisissez le bon livre et plongez-vous dans l'étude. Je pense que vous allez bientôt commencer !
8 parties simples de l'apprentissage du langage Java, ce n'est que le début de notre étude du langage Java ! Si vous comprenez tout cela, vous n'êtes au mieux qu'un programmeur Java, et le chemin à parcourir sera long et long ! Nous pouvons continuer à étudier le code source d'implémentation de la base de données, le code source du serveur Servlet, RMI, EJB, JNDI, la programmation orientée aspect, le refactoring, les outils ANT, les outils Eclipse, les outils Spring, JBoss, JOnAS, Apache Geronimo et autres serveurs J2EE ! Après les avoir étudiés, vous pourriez devenir un excellent architecture J2EE ! Vous pouvez continuer à étudier le profileur, le compilateur, JNODE (système d'exploitation écrit en java)...
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!