qual è il miglior libro per imparare la programmazione ottimizzata in java [duplicato]

0

Let me elaborate a little:

Ero un programmatore C / C ++ in cui usavo il concetto di struttura dati come alberi, code stack ecc e tentavo di ottimizzare il più possibile, minimo n. di cicli, variabili e ha cercato di renderlo efficiente. Sono passati un paio d'anni da quando ho iniziato a scrivere codici java, ma semplicemente non è così efficiente in termini di prestazioni, memoria intensiva ecc.

To the point:

Voglio inserire sfide di programmazione utilizzando java, quindi ho bisogno di migliorare il mio approccio alle cose che programma. Quindi, per favore suggeriscimi alcuni libri che possono aiutarmi a imparare a programmare meglio e ad avere una possibilità di risolvere le sfide nella programmazione.

    
posta Abhishek Simon 23.03.2012 - 09:25
fonte

4 risposte

8

Java è un po 'più distante dalla macchina reale di C ++ a causa della progettazione JVM. Il suggerimento generale è di scrivere codice molto pulito in modo che la JVM abbia le migliori condizioni possibili per compilarlo in codice macchina e conoscere le varie implementazioni di runtime per scegliere il più appropriato a portata di mano.

Detto questo, il libro attualmente maggiormente raccomandato per passare da "Effective Java" di Joshua Bloch. Vedi link per numeri e link ISBN. Altamente raccomandato.

    
risposta data 23.03.2012 - 09:36
fonte
7

Penso che Effective Java ( già menzionato ) sia un buon inizio.

Per un elenco di riferimenti più completo, il mio preferito è uno su Link Angelika Langer - Prestazioni Java :

Books

"Java Platform Performance: Strategies and Tactics" by Steve Wilson & Jeff Kesselman
The book and related resources are available online at http://java.sun.com/docs/books/performance/ .

"Inside the Virtual Machine" by Bill Venners
Sample chapters of the book are available online at http://artima.com/insidejvm/ed2/index.html .

"Performant Java programmieren" by Hendrik Schreiber
Additional information (errata, links, downloads) can be found at http://www.tagtraum.com/performance/ .

"Garbage Collection" by Richard Jones & Rafael Lins An excellent book on garbage collection algorithms in general; more information at http://www.cs.kent.ac.uk/people/staff/rej/gc.html .

Links & Resources

Sun Microsystems A collection of links and resources at Sun Microsystems can be found at http://java.sun.com/docs/performance/ .

Jack Shirazi Further resources for Java performance tuning including a list of tools can be found at http://www.javaperformancetuning.com/resources.shtml .

Articles, Papers & Specifications

JSR-163: Java Platform Profiling Architecture
The profiling architecture as designed for release in J2SE 5.0. The specification group's page can be found at http://jcp.org/en/jsr/detail?id=163 .

WHITE PAPER: J2SE 5.0 Performance White Paper
The paper gives an overview of the performance and scalability improvements made in the J2SE 5.0 release along with various benchmarks to demonstrate the impact of these improvements. It has numerous links to further resources. http://java.sun.com/performance/reference/whitepapers/5.0_performance.html

Per approfondire le tematiche relative alle prestazioni Java, gli articoli di Brian Goetz in teoria Java e pratica e Threading Lightly sono difficili da battere:

risposta data 23.03.2012 - 11:01
fonte
2

Thorbjørn Ravn Andersen ha risposto molto bene , inserirò un po 'di inclinazione leggermente diversa.

+1 - Il compilatore JIT (Just In Time) è generalmente molto aggressivo nelle sue ottimizzazioni di runtime e apprende come funziona. Mantenere i tuoi metodi in ~ < 35 codici byte, ad esempio, assicurerà che siano in linea e ci siano anche altri trucchi. Vedi anche il recente libro di Charlie Hunt sulle prestazioni Java

    
risposta data 23.03.2012 - 10:07
fonte
1

Considerando il fatto che eri un programmatore C / C ++ che sembra capire come fare le cose in modo efficiente, puoi davvero fare solo le stesse cose che hai fatto quando programmavi in C / C ++ per ottimizzare il codice Java.

Una grande risorsa per strutture dati e algoritmi, tuttavia, è Introduzione agli algoritmi (CLRS) . Tutti gli snippet di codice sono sintassi in stile java

    
risposta data 23.03.2012 - 09:31
fonte

Leggi altre domande sui tag