Mi piacerebbe sapere quali sono le esperienze con il garbage collector G1 nel nuovissimo JDK? Vedo lanciato il NullPointerException
nel mio programma, sebbene il codice non sia cambiato e si sia comportato correttamente nei JDK precedenti.Esperienza con JDK 1.6.x G1 ("Garbage First")
risposta
Ho corso jEdit utilizzando:
-Xmx192M -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC
per l'ultimo paio di giorni sulle finestre. Non ho mai visto niente di sbagliato o di comportamento anomalo.
Ho anche provato a eseguire Intellij utilizzando G1 GC, non era giusto così bene. È durato un paio d'ore prima di crollare in un mucchio di caos, forse un po 'ottimista.
Ho provato e non ho riscontrato eccezioni. Ma le prestazioni del nostro server sono calate del 30% circa.
È deludente che tu abbia visto un degrado delle prestazioni così significativo, ma è importante ricordare che un obiettivo importante del raccoglitore G1 è ridurre al minimo le pause. Con un cumulo di pochi GB o superiore, puoi ottenere più minuti di pausa quando GC viene eseguito con gli altri raccoglitori. Quindi, anche se G1 porta a tempi di risposta un po 'più lunghi, purché siano più coerenti e non mostrino mai il comportamento peggiore, questo sarebbe un grande miglioramento per alcune app. –
dovresti pubblicare tutte le tue opzioni VM per noi qui in modo che possiamo confrontare con la tua "analisi del 30% delle gocce". – djangofan
un garbage collector avrà un impatto solo il prestazioni della vostra applicazione, non il suo correttezza. L'ho usato per Eclipse, solo per divertimento, e mi è sembrato stabile.
Vorrei cercare altrove la fonte delle eccezioni.
Un errore nel garbage collector, d'altra parte, * può * influire sulla sua correttezza. Qualcosa di "sperimentale" mi dice che non è del tutto irragionevole mettere in discussione la situazione. :) –
Sono d'accordo che è sperimentale e non lo userei per la produzione, almeno non con u14. –
- 1. Prestazioni relative di Garbage Collector (G1) Garbage First di Java?
- 2. Esecuzione di Ant con JDK 1.6 su Mac OS X
- 3. JDK 1.6 e Xerces?
- 4. Differenza tra jdk 1.6 e jdk 1.7?
- 5. annotazione @override in JDK 1.6
- 6. JDK 1.7 vs JDK 1.6 classi interne differenza eredità
- 7. Serializzare l'oggetto in jdk 1.5 e deserializzarlo jdk 1.6
- 8. Java HotSpot 1.6 VM, Garbage Collection - PermGen
- 9. Classe scarico in G1 Garbage Collector di Java (G1GC)
- 10. GC completo non necessario con il garbage collector G1 in Java 8?
- 11. Ho bisogno di stax-api-1.0.x nella mia app Web quando utilizzo JDK 1.6?
- 12. Charset.defaultCharset() ottiene risultati diversi in JDK1.7 e JDK 1.6
- 13. Come modificare il compilatore Ant su JDK 1.6
- 14. Diversa voce `next` di ConcurrentHashMap in JDK 1.6 e JDK 1.7
- 15. Posso installare JDK 1.6 sul JDK 1.3 predefinito del database Oracle?
- 16. Migrazione del codice da JDK 1.5 a 1.6
- 17. Eclipse + Maven: force Execution Environment "JavaSE-1.6" anziché JDK fisso
- 18. NetBeans 7.4 può avere JDK 1.6 come piattaforma predefinita?
- 19. Esperienza con rotazione MKMapView
- 20. cosa jar jdbc usare con oracle 11g e jdk 1.6 e come connettersi al db stesso
- 21. Come costruire il target del progetto java come 1.5 di 1.6 JDK con Intellij IDEA?
- 22. Qualche esperienza con Android NDK?
- 23. Qualcuno ha esperienza con AppScale?
- 24. Qualche esperienza con xp-dev.com?
- 25. Qualcuno ha esperienza con Perl5i?
- 26. Qualcuno ha esperienza con CloudFoundry con Grails?
- 27. Maven: javac: source release 1.6 richiede la versione target 1.6
- 28. L'SDK Android può funzionare con JDK 1.7?
- 29. Perché la nuova HashMap <> produce un errore in JDK 1.6 ma non 1.7
- 30. non supportata versione major.minor 51,0 ma tutto è impostato per JDK 1.6
Ricordare che si tratta di una funzione sperimentale, quindi è necessario aspettarsi dei problemi. – Mark
Puoi fornire un esempio di codice? C'è la possibilità che tu abbia esposto un problema di timing/concorrenza con il nuovo raccoglitore. –
Ho ricevuto eccezioni casuali OutOfMemoryError principalmente su allocazioni di array. Con il normale GC, non si verificano problemi. – akarnokd