(Nota che quando dico “JVM”, intendo davvero “Hotspot”, e sto eseguendo l’ultimo aggiornamento di Java 1.6). Esempio di situazione: La mia JVM è in esecuzione con -Xmx impostato su 1gb. Attualmente, l’heap ha 500mb allocati, di cui 450mb utilizzati. Il programma deve caricare altri 200 mb nell’heap. Attualmente, ci sono 300mb di spazzatura “da collezione” […]
Tomcat esegue una webapp sotto Windows. Dopo alcuni giorni (sotto carico molto basso), l’eccezione menzionata nel titolo inizia a comparire nei registri, non è ansible stabilire nuove connessioni da quel punto in poi, l’unica correzione è quindi riavviare il server. Ambiente: Ultimo Tomcat 6 Windows Server 2008 R2 Aggiornamento JDK 6 30 SQL Server 2008 […]
Nello spirito della domanda Java: perché esiste MaxPermSize? , Vorrei chiedere perché Sun JVM utilizza un limite superiore fisso per la dimensione del suo pool di allocazione di memoria. Il valore predefinito è 1/4 della RAM fisica (con limite superiore e inferiore); di conseguenza, se hai un’applicazione che richiede memoria, devi modificare manualmente il limite […]
Sto scrivendo un interprete in Java per un linguaggio specifico del dominio con alcune funzionalità di scripting. Ho già implementato un parser e ora devo fare un back-end. A tal fine, sto pensando di scrivere il mio interprete (sia lavorando con alberi sintattici astratti o con alcuni bytecode personalizzati) sia come target JVM (emetti ed […]
Che cosa fa l’indicatore JVM dell’hotspot -XX:+UseCompressedOops e quando dovrei usarlo? Che tipo di prestazioni e differenze di utilizzo della memoria vedrò quando lo utilizzo su un’istanza Java a 64 bit (rispetto a non usarla)?
Questo è un seguito alla mia precedente domanda e sono piuttosto imbarazzato nel chiedere questo … Ma comunque: come si avvia una seconda JVM da un programma Java autonomo in modo indipendente dal sistema? E senza fare affidamento, ad esempio, su una variabile ENV come JAVA_HOME, che potrebbe puntare a un JRE diverso da quello […]
Sto leggendo questo articolo su come JVM invoca metodi, e penso di averne ottenuto la maggior parte. Tuttavia, sto ancora avendo problemi a capire la necessità di invokeinterface . Per come la capisco, una class ha fondamentalmente una tabella virtuale di metodi e quando si chiama un metodo con invokevirtual o invokeinterface viene consultata questa […]
Sto cercando di eseguire un programma java e sto ricevendo il seguente errore di runtime. L’errore è mostrato di seguito. Exception in thread “main” java.lang.NoSuchFieldError: DEF_CONTENT_CHARSET at org.apache.http.impl.client.DefaultHttpClient.setDefaultHttpParams(DefaultHttpClient.java:175) at org.apache.http.impl.client.DefaultHttpClient.createHttpParams(DefaultHttpClient.java:158) at org.apache.http.impl.client.AbstractHttpClient.getParams(AbstractHttpClient.java:448) at org.apache.http.impl.client.AbstractHttpClient.createClientConnectionManager(AbstractHttpClient.java:309) at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:466) at org.apache.http.impl.client.AbstractHttpClient.createHttpContext(AbstractHttpClient.java:286) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:851) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784) at net.floodlightcontroller.core.internal.PacketStreamerClient.registerForPackets(PacketStreamerClient.java:90) at net.floodlightcontroller.core.internal.PacketStreamerClient.main(PacketStreamerClient.java:51) Ora i file che ho aggiunto al […]
Nel caso in cui l’heap sia pieno, la JVM lancia un OutOfMemoryError . Ma è certo che una raccolta di dati (completa) avviene sempre prima che venga lanciata un’eccezione? Ciò significherebbe che la memoria è piena solo di oggetti referenziati (o raggiungibili da GC Roots) quando viene lanciata l’eccezione. Modifica: Supponiamo che Sun JVM – […]
C’è un modo per collegarsi a una JVM già in esecuzione? Ad esempio, in JNI è ansible utilizzare JNI_CreateJavaVM per creare una VM ed eseguire un jar e ispezionarne tutte le classi. Tuttavia, se il jar è già in esecuzione, non riesco a trovare un modo per collegarlo alla sua JVM e comunicare con le […]