|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
[JAVA] Quando lancio + JAR da console, ognuno gira isolato in una sua JVM o no?
Quando lancio + JAR da console, ognuno gira isolato in una sua JVM o no?
Chiedo perchè nel caso NON fosse 1 lancio .JAR --> 1 JVM, allora dovrei fare attenzione ad usare variabili statiche di classe, giusto? Potrei andarmi a sovrascrivere i dati come un pirla. Voi sapete sta cosa? TNX a lot!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
#2 | |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
|
Quote:
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Eh le famose variabili di classe ... quelle dichiarate static sono di classe e non di istanza dell'oggetto.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2011
Città: Apulia
Messaggi: 495
|
Se vuoi preserevare lo stato di alcune variabili, evitando gli accessi concorrenziali, ti conviene crearti blocchi sincronizzati o eseguire lock sugli oggetti tramite wait().
__________________
cioè bho |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Pensavo ad isolare la sua esecuzione piuttosto che a sincronizzare/bloccare oggetti. Anche perchè il log4j dovrebbe essere singleton di suo.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
|
...sospetto basti fugare i dubbi con una semplice classe di test...mi sembra strano comunque che questo possa avvenire...
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Che possa avvenire cosa ti sembra strano?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Per ogni java -jar pippo.jar è istanziata una nuova jvm. Anche se "pippo.jar" è lo stesso, ognuna ha la sua fettona di memoria, classi nominalmente identiche sono entità diverse e non interagiscono.
C'è un livello di condivisione nella piattaforma Java di oracle (il cosidetto class data sharing) ma quello riguarda il file da cui è generata la classe. Il discorso cambia ad esempio per le Applet: lì il plugin-in può usare una stessa jvm per eseguire più applet ed essendo la jvm sempre quella a certe condizioni è possibile che l'applet A veda il valore del campo statico della classe C impostato dall'applet B anche se le applet appartengono a pagine diverse.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Feb 2011
Città: Apulia
Messaggi: 495
|
Quote:
Non li vedrai in sequenza ma dovresti essere in grado di distinguerli..
__________________
cioè bho |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Forse non è così, dovrei provare de facto.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Grazie.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Confermo che i jar girano isolati come memoria, mentre l'id del thread si ripete per esecuzioni differenti e nel mio caso quindi NON è descripante.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 06-03-2012 alle 16:37. |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Feb 2011
Città: Apulia
Messaggi: 495
|
Allora probabilmente un framework di logging dovrebbe fare al caso tuo, tipo log4j.
__________________
cioè bho |
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Usando log4j + le variabili statiche, lanciando N volte lo stesso jar, ho ottenuto questo risultato senza che un jar nella sua computazione vada a rompere i maroni alla variabile di classe dello stesso oggetto. De facto la computazione di un jar risulta isolata dalle altre. Forse è conseguenza dell'implementazione della macchina Java SW che è quella dell'interprete JVM.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
C'è modo di vedere tipo con jconsole.exe l'andazzo specifico dei 3D e della VM in generale?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
netbeans e eclipse hanno dei profiler integrati, altrimenti puoi usare JVisualVM (jdk oracle). E' relativamente intuitivo, quindi non sto qui a raccontarti la storia dell'orso.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:14.




















