Idealmente, la risposta sarà indipendente dalla piattaforma, ma sono utili anche le piattaforme specifiche, in particolare Oracle JVM. Il progetto a cui sto lavorando è ancora in esecuzione una JVM versione 6.Come segnalare la lunghezza della coda degli eventi AWT/Swing a livello di programmazione?
La particolare necessità ha a che fare con una GUI che si "congela" di volta in volta. Sono ben consapevole di fare sul lavoro con la GUI sull'EDT. Il programma stava funzionando bene su Windows, ma dopo essersi trasferito su Linux, questi "strani" problemi della GUI iniziarono ad accadere. In realtà, questo problema si è verificato in due applicazioni, sia dopo un passaggio da Windows a Linux. JVisualVM mostra oltre 10 milioni di oggetti java.awt.EventQueueItem
. Il sospetto è che la coda AWT stia crescendo più velocemente di quella che viene servita su Linux, quindi l'idea è di inserire un indicatore della lunghezza della coda AWT nell'app e vedere cosa mostra quando la coda cresce/si riduce.
Un po 'di Google ha trovato this, ma esegue una scansione lineare della coda. Forse c'è un modo migliore?
Per esplorare, è possibile intercettare gli eventi, come illustrato [qui] (http://stackoverflow.com/q/3158254/230513). – trashgod
Dieci _million_! 'SetCoalesce (false)'? – trashgod
No. Ci avevo già pensato e scansionato per questo. Non disattivare la logica di coalescenza. –