Articles of jvm

Incoraggiare la JVM in GC piuttosto che far crescere l’heap?

(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” […]

java.net.SocketException: Nessuno spazio disponibile sul buffer (connessioni massime raggiunte?): JVM_Bind

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 […]

Perché la JVM (Sun) ha un limite superiore fisso per l’utilizzo della memoria (-Xmx)?

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 […]

Come emettere ed eseguire bytecode Java in fase di runtime?

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 il flag JVM di UseCompressedOops e quando dovrei usarlo?

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)?

* * * È davvero il modo migliore per avviare una seconda JVM dal codice Java?

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 […]

Qual è il punto di invokeinterface?

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 […]

java.lang.NoSuchFieldError: DEF_CONTENT_CHARSET

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 […]

Garbage Collector è garantito che venga eseguito prima dell’errore di memoria insufficiente?

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 – […]

Connetti a JVM già in esecuzione

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 […]