Existe um livro canônico para aprender Java como um desenvolvedor experiente? [fechadas]

28

Sou desenvolvedor .NET agora há cerca de 5/6 anos, mais ou menos. Eu nunca fiz nenhum desenvolvimento profissional em Java e a última vez em que realmente o toquei provavelmente estava de volta à faculdade. Eu tenho brincado com a língua Scala um pouco, mas nada sério. Recentemente, me ofereceram a oportunidade de fazer um trabalho bem legal, mas usando Java em vez de .NET. Eu acho que posso me dar bem com o meu conjunto de habilidades atual, o que significa que eu já sei programar bem e estou familiarizado com linguagens como C # e C ++, etc. O que eu preciso é de um livro de referência realmente bom e um livro sobre como pensar em Java. Cada linguagem / Framework / Stack tenta abordar as coisas de uma certa maneira e tenho certeza que Java não é diferente.

Quais são alguns ótimos livros Java dos quais você simplesmente não pode viver? Existem livros que falam sobre as partes mais importantes do Java que devem ser entendidos antes de tudo?

Como uma observação lateral, estarei desenvolvendo principalmente o desenvolvimento de web Java. Não é realmente 100% sobre quais tipos de coisas eles estão usando para persistência, estrutura, servidor, etc.

Nodey, o cara do nó
fonte
2
Vir da pilha .NET para a pilha Java de um ângulo da Web será um inferno. Você sentirá muita falta do .NET. É isso, que coisa. Apenas minha opinião leva para o que vale a pena.
@Sergio: Não é o que eu queria ouvir !!! LOL
Nodey The Node Guy
1
@Sergio - Steven, para seu conforto, eu discordo muito. Java tem seus problemas, mas acho que está no seu melhor no espaço da web.
23611 Nicole
1
Provavelmente duplicada - programmers.stackexchange.com/questions/32591/…
ChrisF

Respostas:

19

Para referência, sugiro usar apenas o material oficial da Sun (agora Oracle), como os tutoriais e JavaDocs. Apesar de serem voltados para iniciantes, eles geralmente são organizados tão bem que é fácil para um especialista encontrar o que precisa.

Java eficaz por Bloch é um ótimo livro para entender os aspectos menos triviais (e em particular os genéricos).

Os materiais adicionais provavelmente dependem da pilha Java exata que você usa - J2EE, Spring, GWT, Gui toolkit, etc.

Uri
fonte
11

Programador Java certificado pela Sun

SCJP para Java 6

Eu recomendo este livro como um guia completo de instalação e execução para um desenvolvedor já competente.

Esta pergunta é muito parecida com a pergunta Melhor maneira de aprender Java se você já possui um background em OOP, como o ActionScript 3? onde eu disse:

Você mencionou que não quer um livro que revise coisas que você já conhece. Eu recomendo o SCJP for Java 6 Study Guide . Eu peguei este livro (a versão Java 5) para estudar para o teste e, embora eu já soubesse e estivesse trabalhando com Java em tempo integral, ele não ofendeu minha inteligência, mesmo ao abordar os princípios básicos da linguagem.

Embora eu já fosse competente, aprendi detalhes importantes sobre o idioma ao longo do livro, incluindo detalhes específicos sobre as palavras-chave de acesso, polimorfismo e prioridade do método sobrecarregado, que se tornaram muito mais importantes quando foram adicionados genéricos e boxe automático.

A partir daí, você pode realmente querer fazer o teste (embora de US $ 200 a 300, o que quer que seja agora, seria melhor para um empregador subsidiá-lo para você). O teste de próximo nível, SCJD (D for Developer), na verdade exige que você implemente um programa básico com back-end e front-end, o que seria uma ótima maneira de obter um bom, básico (20-40 horas), bem- projeto definido para cortar os dentes.

Nicole
fonte
1
Como uma pessoa que leu este livro de capa a capa, eu realmente recomendo, ela tem muitas informações privilegiadas sobre Java que eu nunca vi em um livro antes sem ser frustrante para o iniciante, embora não seja um livro para iniciantes com programação, qualquer pessoa com conhecimentos boa programação pode ser capaz de ler este livro sem problemas
Mahmoud Hossam
@ Phobia - é difícil descrever como isso pode ser bom tanto para iniciantes quanto para veteranos, mas é verdade?
23611 Nicole
sim, MUITO
Mahmoud Hossam
9

Java eficaz por Joshua Bloch é uma obrigação. Discussão interessante de algumas partes não triviais da linguagem.

Eu também ouvi coisas boas sobre a "Concorrência Java na Prática" da Goetz, mas não li isso pessoalmente.

Richard Miskin
fonte
5

Se você deseja se tornar um especialista em concorrência, recomende o Goetz et. al. Concorrência Java na Prática . Se você deseja ascender a um plano mais alto de iluminação simultânea, a Art of Multiprocessor Programming de Maurice Herlihy é de primeira qualidade e contém um substancial código Java. (Veja também a discussão sobre o SO ... observe que esta pergunta foi encerrada, mas as respostas ainda são úteis)

andersoj
fonte
Acabei de ler este livro recentemente e isso afetou profundamente meu entendimento.
Nodey The Node Guy
Todos os 3 links que você forneceu não têm dados, os dois últimos estão mortos, o primeiro está em construção.
Estamos Borg
Você poderia sugerir correções ... mas eu cuidei das duas primeiras; o último que eu deixei, pois faz referência a uma pergunta no stackoverflow que é fechada / excluída, mas você ainda pode ver com pontos suficientes de brownie e as respostas ainda são interessantes.
precisa saber é o seguinte
4

Não tem muito a ver especificamente com desenvolvimento web, mas "Effective Java", de Joshua Bloch, é uma leitura obrigatória na minha opinião:

Link para Amazon

ftr
fonte
0

Assim como a resposta de Uri, consulte os documentos oficiais do sol e o Java eficaz para se aprofundar na linguagem.

Em seguida, siga em frente com os documentos e livros do play , como o e-book do play framework , livro de receitas do play framework , aqui você tem um capítulo

não adianta você se dedicar a estudar sobre a pilha padrão de desenvolvimento web j2ee (você sabe, spring, struts, tomcat, jsf, etc) porque o play tem uma abordagem muito diferente do desenvolvimento web ... se você usar o hibernate como persistência estrutura que eu recomendaria dar uma olhada nos documentos do hibernate

opensas
fonte