Esiste un libro canonico per l'apprendimento di Java come sviluppatore esperto? [chiuso]


28

Sono stato uno sviluppatore .NET ora per circa 5/6 anni negli ultimi 5 anni. Non ho mai fatto alcuno sviluppo professionale Java e l'ultima volta che l'ho davvero toccato era probabilmente tornato al college. Ho giocato un po 'con il linguaggio Scala ma niente di grave. Di recente, mi è stata offerta l'opportunità di fare un lavoro piuttosto interessante, ma usando Java invece di .NET. Penso di poter andare d'accordo con il mio attuale set di abilità, il che significa che so già come programmare bene e ho familiarità con linguaggi come C # e C ++, ecc. Quindi, la sintassi e tutto quel linguaggio non sono davvero un problema. Ciò di cui ho bisogno è un ottimo libro di consultazione e un libro su come pensare in Java. Ogni lingua / Framework / Stack cerca di affrontare le cose in un certo modo e sono sicuro che Java non è diverso.

Quali sono alcuni fantastici libri Java di cui semplicemente non puoi vivere? Ci sono libri che parlano delle parti più importanti di Java che devono essere comprese prima di ogni altra cosa?

Come nota a margine, farò principalmente lo sviluppo web Java. Non proprio al 100% su quali tipi di cose stanno usando per persistenza, framework, server, ecc.


2
Arrivare dallo stack .NET allo stack Java dal punto di vista del web sarà un inferno. .NET ti mancherà moltissimo. Jthis, jthat, jthingamgig. Solo la mia opinione lo prenda per quello che vale.

@Sergio: non quello che volevo sentire !!! LOL
Nodey The Node Guy,

1
@Sergio - Steven, per la tua comodità, non sono affatto d'accordo. Java ha i suoi problemi, ma penso che sia al suo meglio nello spazio web.
Nicole,


Risposte:


19

Per riferimento, suggerirei di usare solo le cose ufficiali di Sun (ora Oracle) come i tutorial e JavaDocs. Nonostante siano pensati per i principianti, sono spesso organizzati così bene che è facile per un esperto trovare ciò di cui hanno bisogno.

L'efficace Java di Bloch è un ottimo libro per comprendere gli aspetti meno banali (e in particolare i generici).

I materiali aggiuntivi probabilmente dipendono dallo stack Java esatto che usi: J2EE, Spring, GWT, Gui toolkit, ecc.


11

Programmatore Java certificato Sun

SCJP per Java 6

Mi raccomando questo libro come una guida completa get-you-up-and-running per uno sviluppatore già competente.

Questa domanda è molto simile alla domanda Il modo migliore per imparare Java se hai già uno sfondo OOP, come ActionScript 3? dove ho detto:

Hai detto che non vuoi un libro che ripercorra cose che già conosci. Consiglio vivamente SCJP per la Guida allo studio di Java 6 . Ho avuto questo libro (la versione Java 5) da studiare per il test, e anche se lo sapevo già e stavo lavorando a tempo pieno con Java, non ha insultato la mia intelligenza anche mentre ripercorrevo le basi fondamentali del linguaggio.

Anche se ero già competente, ho imparato importanti dettagli sulla lingua in tutto il libro, inclusi dettagli specifici sulle parole chiave di accesso, polimorfismo e priorità del metodo sovraccarico, che è diventato molto più importante quando sono stati aggiunti generici e auto-boxing.

Da lì, potresti voler sostenere il test (anche se a $ 200-300, qualunque cosa sia ora, sarebbe meglio per un datore di lavoro sovvenzionarlo per te). Il test di livello successivo, SCJD (D for Developer), in realtà richiede di implementare un programma di base con un back-end e un front-end, che sarebbe un ottimo modo per ottenere un semplice, piccolo (20-40 ore), ben- progetto definito per tagliare i denti.


1
Come persona che ha letto questo libro da copertina a copertina, lo consiglio vivamente, ha molte informazioni privilegiate su Java che non avevo mai visto in un libro senza essere frustrante per il principiante, senza essere un libro per principianti assoluti con la programmazione, chiunque abbia una buona conoscenza della programmazione potrebbe essere in grado di leggere questo libro senza problemi
Mahmoud Hossam,

@Phobia - è difficile descrivere come può essere buono sia per i principianti che per i veterani, ma è vero?
Nicole,

sì, MOLTO
Mahmoud Hossam,

9

L'efficace Java di Joshua Bloch è un must. Discussione interessante di alcune parti non banali della lingua.

Ho anche sentito cose interessanti su Goetz "Java Concurrency in Practice", ma non l'ho letto da solo.


5

Se vuoi diventare un mago della concorrenza, consiglia Goetz et. al. Concorrenza Java in pratica . Se vuoi salire a un piano superiore di illuminazione concorrenziale, l' arte della programmazione multiprocessore di Maurice Herlihy è di prim'ordine e contiene un codice Java sostanziale. (Vedi anche la discussione SO ... nota che questa domanda è stata chiusa, ma le risposte sono ancora utili)


Ho appena letto questo libro e ha influenzato profondamente la mia comprensione.
Nodey The Node Guy

Tutti i 3 link che hai fornito non hanno dati, gli ultimi 2 sono morti, il primo è in costruzione.
Siamo a Borg il

Potresti offrire correzioni suggerite ... ma mi sono occupata delle prime due; l'ultimo che ho lasciato dal momento che fa riferimento a una domanda su StackOverflow che è chiusa / eliminata, ma puoi ancora vedere con abbastanza punti brownie e le risposte sono ancora interessanti.
andersoj,

4

Non ha esattamente molto da fare nello sviluppo web in particolare, ma "Effective Java" di Joshua Bloch è una lettura obbligata secondo me:

Link ad Amazon


0

Proprio come la risposta di Uri, cerca i documenti ufficiali Sun e l'efficace Java per approfondire la lingua.

Quindi vai dritto con documenti e libri di gioco, come il libro di ricette del quadro di gioco del framework di gioco e-book , qui hai un capitolo di esempio

non serve che ti dedichi a studiare lo stack standard di sviluppo web j2ee (sai, spring, struts, tomcat, jsf, ecc.) perché il gioco ha un approccio molto diverso allo sviluppo web ... se vai con l'ibernazione come persistenza quadro, consiglierei di dare un'occhiata ai documenti di Hibernate

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.