Existe-t-il un livre canonique pour apprendre Java en tant que développeur expérimenté? [fermé]

28

Je suis développeur .NET depuis environ 5/6 ans. Je n'ai jamais fait de développement Java professionnel et la dernière fois que j'ai vraiment touché, c'était probablement à l'université. J'ai joué un peu avec la langue Scala mais rien de grave. Récemment, on m'a proposé de faire un travail plutôt sympa, mais en utilisant Java au lieu de .NET. Je pense que je peux me débrouiller avec mes compétences actuelles, ce qui signifie que je sais déjà bien programmer et que je suis familier avec des langages tels que C # et C ++, etc. Ce dont j'ai besoin, c'est d'un très bon livre de référence et d'un livre sur la façon de penser en Java. Chaque langage / Framework / Stack essaie d'aborder les choses d'une certaine manière et je suis sûr que Java n'est pas différent.

Quels sont les grands livres Java sans lesquels vous ne pouvez tout simplement pas vivre? Y a-t-il des livres qui parlent des parties les plus importantes de Java qui doivent être comprises avant tout?

En parallèle, je ferai principalement du développement web Java. Pas vraiment à 100% sur les types de choses qu'ils utilisent pour la persistance, le framework, le serveur, etc.

Nodey The Node Guy
la source
2
Venir de la pile .NET à la pile Java sous un angle web sera un enfer. Vous manquerez beaucoup de .NET. Jthis, jthat, jthingamgig. Juste mon avis, prenez-le pour ce qu'il vaut.
@Sergio: Pas ce que je voulais entendre !!! LOL
Nodey The Node Guy
1
@Sergio - Steven, pour votre confort, je ne suis pas du tout d'accord. Java a ses problèmes, mais je pense qu'il est à son meilleur dans l'espace Web.
Nicole
1
Doublon

Réponses:

19

Pour référence, je suggérerais simplement d'utiliser les trucs officiels de Sun (maintenant Oracle) comme les tutoriels et JavaDocs. Bien qu'ils soient destinés aux novices, ils sont souvent si bien organisés qu'il est facile pour un expert de trouver ce dont ils ont besoin.

Effective Java by Bloch est un excellent livre pour comprendre les aspects les moins triviaux (et en particulier les génériques).

Les matériaux supplémentaires dépendent probablement de la pile Java exacte que vous utilisez - J2EE, Spring, GWT, Gui toolkit, etc.

Uri
la source
11

Programmeur Java certifié Sun

SCJP pour Java 6

Je recommande fortement ce livre comme guide complet de mise en route pour un développeur déjà compétent.

Cette question est très similaire à la question Meilleure façon d'apprendre Java si vous avez déjà un arrière-plan POO, comme ActionScript 3? où j'ai dit:

Vous avez dit que vous ne vouliez pas d'un livre qui traite de choses que vous connaissez déjà. Je recommande fortement SCJP for Java 6 Study Guide . J'ai obtenu ce livre (la version Java 5) pour étudier pour le test, et même si je savais déjà et travaillais avec Java à plein temps, il n'a pas insulté mon intelligence même en passant en revue les bases fondamentales du langage.

Même si j'étais déjà compétent, j'ai appris des détails importants sur la langue tout au long du livre, y compris des détails spécifiques sur les mots-clés d'accès, le polymorphisme, ainsi que la priorité de la méthode surchargée, qui est devenue beaucoup plus importante lorsque les génériques et la boxe automatique ont été ajoutés.

À partir de là, vous voudrez peut-être passer le test (bien qu'à 200-300 $, quel qu'il soit actuellement, il serait préférable qu'un employeur le subventionne pour vous). Le test de niveau suivant, SCJD (D pour Developer), vous oblige en fait à implémenter un programme de base avec un back-end et un front-end, ce qui serait un excellent moyen d'obtenir une base, petite (20-40 heures), eh bien- projet défini pour vous couper les dents.

Nicole
la source
1
En tant que personne qui a lu ce livre de couverture en couverture, je le recommande vraiment, il contient beaucoup d'informations privilégiées sur Java que je n'ai jamais vues dans un livre sans être frustrant pour le débutant, tout en n'étant pas un livre pour débutants absolus en programmation, toute personne ayant de bonnes connaissances en programmation pourrait lire ce livre sans aucun problème
Mahmoud Hossam
@Phobia - il est difficile de décrire en quoi cela peut être bon pour les débutants comme pour les vétérans, mais c'est vrai, non?
Nicole
oui, TRÈS
Mahmoud Hossam
9

Java efficace par Joshua Bloch est un must. Discussion intéressante sur certaines parties non triviales du langage.

J'ai également entendu de bonnes choses sur Goetz "Java Concurrency in Practice" mais je ne l'ai pas lu moi-même.

Richard Miskin
la source
5

Si vous voulez devenir un expert de la concurrence, recommandez le Goetz et. Al. Concurrence Java en pratique . Si vous souhaitez atteindre un niveau supérieur d'illumination concurrente, l' Art de la programmation multiprocesseur de Maurice Herlihy est de premier ordre et contient un code Java substantiel. (Voir aussi la discussion SO ... notez que cette question a été fermée, mais les réponses sont toujours utiles)

andersoj
la source
Je viens de lire ce livre récemment et cela a profondément affecté ma compréhension.
Nodey The Node Guy
Les 3 liens que vous avez fournis n'ont aucune donnée, les 2 derniers sont morts, le premier est en construction.
Nous sommes Borg le
Vous pourriez proposer des correctifs suggérés ... mais j'ai pris soin des deux premiers; le dernier que j'ai laissé car il fait référence à une question sur stackoverflow qui est fermée / supprimée, mais vous pouvez toujours voir avec suffisamment de points brownie et les réponses sont toujours intéressantes.
andersoj
4

N'a pas vraiment beaucoup à faire spécifiquement pour le développement web, mais "Effective Java" de Joshua Bloch est une lecture incontournable à mon avis:

Lien vers Amazon

ftr
la source
0

Tout comme la réponse d'Uri, optez pour les documents officiels Sun et Java efficace pour approfondir le langage.

Allez ensuite directement avec des documents et des livres de jeu, comme le livre de recettes du cadre de jeu e-book play framework , voici un exemple de chapitre

il ne sert à rien d'étudier la pile de développement Web j2ee standard (vous savez, Spring, Struts, Tomcat, JSF, etc.) car le jeu adopte une approche très différente du développement Web ... si vous optez pour l'hibernation comme persistance cadre, je recommanderais de jeter un oeil aux documents de hibernate

opensas
la source