¿Existe un libro canónico para aprender Java como desarrollador experimentado? [cerrado]

28

He sido desarrollador de .NET ahora durante los últimos 5/6 años más o menos. Nunca he hecho ningún desarrollo profesional de Java y la última vez que realmente lo toqué fue probablemente en la universidad. He estado jugando un poco con el lenguaje Scala pero nada serio. Recientemente, me ofrecieron la oportunidad de hacer un trabajo bastante bueno, pero usando Java en lugar de .NET. Creo que puedo estar bien con mi conjunto de habilidades actual, lo que significa que ya sé cómo programar bien y estoy familiarizado con lenguajes como C # y C ++, etc. Entonces, la sintaxis y todo ese lenguaje no son realmente un problema. Lo que necesito es un buen libro de referencia y un libro sobre cómo pensar en Java. Cada idioma / Framework / Stack intenta abordar las cosas de una manera determinada y estoy seguro de que Java no es diferente.

¿Cuáles son algunos excelentes libros de Java sin los que simplemente no puedes vivir? ¿Hay libros que hablen sobre las partes más importantes de Java que deben entenderse antes que todo lo demás?

Como nota al margen, haré principalmente desarrollo web Java. Realmente no 100% en qué tipos de cosas están usando para persistencia, marco, servidor, etc.

Nodey The Node Guy
fuente
2
Llegar desde la pila .NET a la pila Java desde un ángulo web será un infierno. Echarás mucho de menos .NET. Jthis, jthat, jthingamgig. Solo mi opinión, tómalo por lo que vale.
@ Sergio: ¡No es lo que quería escuchar! LOL
Nodey The Node Guy
1
@ Sergio - Steven, para tu comodidad, estoy muy en desacuerdo. Java tiene sus problemas, pero creo que está en su mejor momento en el espacio web.
Nicole

Respuestas:

19

Como referencia, sugeriría simplemente usar las cosas oficiales de Sun (ahora Oracle) como los tutoriales y JavaDocs. A pesar de estar destinados a principiantes, a menudo están organizados tan bien que es fácil para un experto encontrar lo que necesita.

Effective Java de Bloch es un gran libro para comprender los aspectos menos triviales (y en particular los genéricos).

Es probable que los materiales adicionales dependan de la pila Java exacta que use: J2EE, Spring, GWT, Gui toolkit, etc.

Uri
fuente
11

Programador de Java certificado por Sun

SCJP para Java 6

Recomiendo encarecidamente este libro como una guía completa de puesta en marcha para un desarrollador ya competente.

Esta pregunta es muy similar a la pregunta ¿La mejor manera de aprender Java si ya tiene un fondo OOP, como ActionScript 3? donde dije

Mencionaste que no quieres un libro que repase cosas que ya sabes. Recomiendo SCJP para Java 6 Study Guide . Obtuve este libro (la versión Java 5) para estudiar para la prueba, y aunque ya lo sabía y estaba trabajando con Java a tiempo completo, no insultó mi inteligencia incluso al repasar los conceptos básicos fundamentales del lenguaje.

Aunque ya era competente, aprendí detalles importantes sobre el idioma a lo largo del libro, incluidos detalles específicos sobre las palabras clave de acceso, el polimorfismo, así como la prioridad del método sobrecargado, que se volvió mucho más importante cuando se agregaron genéricos y auto-boxeo.

A partir de ahí, es posible que desee tomar el examen (aunque a $ 200-300, sea lo que sea ahora, sería mejor que un empleador lo subsidie ​​por usted). La siguiente prueba de nivel, SCJD (D for Developer), en realidad requiere que implemente un programa básico con un back-end y front-end, que sería una excelente manera de obtener un básico, pequeño (20-40 horas), bueno- proyecto definido para cortar los dientes.

Nicole
fuente
1
Como persona que leyó este libro de principio a fin, realmente lo recomiendo, tiene mucha información interna sobre Java que nunca he visto en un libro antes sin ser frustrante para el principiante, sin ser un libro para principiantes absolutos con programación, cualquier persona con buenos conocimientos de programación podría leer este libro sin problemas
Mahmoud Hossam
@Phobia: es difícil describir cómo puede ser bueno tanto para principiantes como para veteranos, pero lo es, ¿verdad?
Nicole
sí, MUY
Mahmoud Hossam
9

Efectivo Java por Joshua Bloch es una necesidad. Interesante discusión de algunas partes no triviales del lenguaje.

También he escuchado cosas buenas sobre "Concurrencia de Java en la práctica" de Goetz, pero no lo he leído yo mismo.

Richard Miskin
fuente
5

Si quieres convertirte en un genio de concurrencia, recomienda Goetz et. Alabama. Concurrencia de Java en la práctica . Si desea ascender a un plano superior de iluminación de concurrencia, el Arte de la programación multiprocesador de Maurice Herlihy es de primera categoría y contiene un importante código Java. (Véase también la discusión SO ... tenga en cuenta que esta pregunta se ha cerrado, pero las respuestas siguen siendo útiles)

andersoj
fuente
Hace poco leí este libro y ha impactado profundamente mi comprensión.
Nodey The Node Guy
Los 3 enlaces que proporcionó no tienen datos, los últimos 2 están muertos, el primero está en construcción.
Somos Borg
Podrías ofrecer soluciones sugeridas ... pero me encargué de las dos primeras; el último que dejé, ya que hace referencia a una pregunta sobre stackoverflow que está cerrada / eliminada, pero aún puede ver con suficientes puntos de brownie y las respuestas siguen siendo interesantes.
andersoj
4

No tiene mucho que hacer específicamente para el desarrollo web, pero "Java efectivo" de Joshua Bloch es una lectura obligada en mi opinión:

Enlace a Amazon

ftr
fuente
0

Al igual que la respuesta de Uri, busque documentos oficiales de Sun y Java eficaz para profundizar en el lenguaje.

Luego, vaya directamente con play docs y libros, como el libro de cocina play framework e-book play framework , aquí tiene un capítulo de muestra

No sirve de nada que te pongas a estudiar sobre la pila estándar de desarrollo web j2ee (ya sabes, spring, struts, tomcat, jsf, etc.) porque el juego tiene un enfoque muy diferente al desarrollo web ... si vas con la hibernación como persistencia marco recomendaría echar un vistazo a los documentos de hibernate

opensas
fuente