|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#181 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
__________________
|
|
|
|
|
|
|
#182 | ||
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 2722
|
Quote:
Quote:
__________________
- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale. - A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson |
||
|
|
|
|
|
#183 | |||||
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
premesso che purtroppo conosco molto poco C# e .NET:
Quote:
ma volendo addirittura fare un discorso tecnicamente più preciso, la risposta è definitivamente si, in un linguaggio dotato di Garbage Collector come Java è sempre impossibile commettere memory leaks e sai perché? perché per commetterli devi per forza usare una libreria esterna Quote:
Quote:
Quote:
Quote:
Codice:
int v[] = new int[5];
for (int i = 0; i < 6; i++) {
int j = v[i];
}
e in Java puro, perché se l'overflow lo fa una libreria nativa scritta in C++ a cui accedi da Java con JNI allora grazie al e tante volte non riuscissi a scrivermi tale codice, dichiarami un doppio puntatore a una variabile membro Codice:
class Foo {
public:
int bar;
int *pbar;
int **ppbar;
Foo() {
pbar = &bar;
ppbar = &pbar;
}
};
|
|||||
|
|
|
|
|
#184 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#185 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ragazzi...ho visto il mio primo flame in Programmazione... Cerchiamo di darci una calmata...
Quote:
Ultima modifica di cionci : 06-02-2006 alle 08:41. |
|
|
|
|
|
|
#186 | |||
|
Messaggi: n/a
|
Quote:
Quote:
Quote:
|
|||
|
|
|
#187 | |
|
Messaggi: n/a
|
Quote:
Comunque come dice -fidel- è probabilmente comunque possibile (JNI rules P.S. Torno a ripassare che alle 16.30 ho l'esame Ultima modifica di ekerazha : 06-02-2006 alle 09:56. |
|
|
|
|
#188 | |
|
Senior Member
Iscritto dal: Feb 2005
Città: Napoli (provincia)
Messaggi: 2361
|
Quote:
__________________
|
|
|
|
|
|
|
#189 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Napoli (provincia)
Messaggi: 2361
|
P.S. e pure in bocca al lupo per l'esame, và
__________________
|
|
|
|
|
|
#190 | ||||
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 2722
|
Quote:
Quote:
Bash is the GNU shell, or command language interpreter. che vuol dire che bash è un linguaggio script, alla carlona lo puoi pensare come una estensione (ampia) dei file batch del DOS. Il suo linguaggio può sempbrare quello di un linguaggio di programmazione (come semantica) ma non lo è, quindi non lo puoi assolutamente paragonare al C++ o al Java quanto parli di "livelli" di linguaggio. Quote:
Quote:
"Java rende quasi impossibile il buffer overflow". Si riferiscono al fatto che tali meccanismi di controllo possono fallire, non a caso neanche la Sun si azzarda a dire che il suoi meccanismi di bof checking sono infallibili. Ovviamente da programmatore Java, scrivo un programma pensando che il bof sia impossibile, avendo in mente "se il bof checking fallisce che ci posso fare?", ma proprio ad essere super scrupolosi quando mi accorgo che ci puo' essere un bof lo correggo subito
__________________
- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale. - A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson Ultima modifica di -fidel- : 06-02-2006 alle 14:01. |
||||
|
|
|
|
|
#191 | |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 2722
|
Quote:
__________________
- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale. - A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson |
|
|
|
|
|
|
#192 | ||
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 2722
|
Quote:
Quote:
__________________
- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale. - A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson |
||
|
|
|
|
|
#193 | ||||
|
Messaggi: n/a
|
Quote:
Rianalizziamola per bene: Quote:
Quote:
Quote:
Ultima modifica di ekerazha : 06-02-2006 alle 11:57. |
||||
|
|
|
#194 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
Quote:
|
|
|
|
|
|
|
#195 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
Quote:
|
|
|
|
|
|
|
#196 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
Quote:
vai a chiedere ai programmatori di eclipse o di azureus se il GC li ha liberati totalmente dalla gestione della memoria! chissà che tipo di ottimizzazioni si usano in programmi di grandi dimensioni... non a caso si può avere un certo controllo sul GC via codice.. mi pare che il .NET permette di fare qualcosa in più di java però! |
|
|
|
|
|
|
#197 | |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 2722
|
Quote:
Documentazione del package java.lang.ref Il lavoro che sto facendo, e sul quale cercavo maggiori informazioni per sbrigarmi ( Per il momento, sono arrivato a questo (è solo un esmpio dell'uso del package): Codice:
import java.lang.ref.*;
public class References {
public static void main(String[] args) {
Object weakObj, phantomObj;
Reference ref;
WeakReference weakRef;
PhantomReference phantomRef;
ReferenceQueue weakQueue, phantomQueue;
weakObj = new String("Weak Reference");
phantomObj = new String("Phantom Reference");
weakQueue = new ReferenceQueue();
phantomQueue = new ReferenceQueue();
weakRef = new WeakReference(weakObj, weakQueue);
phantomRef = new PhantomReference(phantomObj, phantomQueue);
// Mi accerto dell'esistenza dei "puntatori". Quello di tipo phantom
// dovrebbe restituire "null" dal momento che è inaccessibile.
System.out.println("Weak Reference: " + weakRef.get());
System.out.println("Phantom Reference: " + phantomRef.get());
// Annullo i riferimenti strong (gli oggetti allocati con 'new')
weakObj = null;
phantomObj = null;
// Chiamo il GC esplicitamente, per accodare tali riferimenti nel GC
System.gc();
// Controllo se il GC ha effetivamente accodato i references
System.out.println("Weak accodato: " + weakRef.isEnqueued());
// Provo a finalizzare il phantom reference, se non è stato già fatto
if(!phantomRef.isEnqueued()) {
System.out.println("Richiesta finalizzazione.");
System.runFinalization();
}
System.out.println("Phantom accodato: " + phantomRef.isEnqueued());
// Aspetto fino a quando il weak reference è in coda e lo rimuovo
try {
ref = weakQueue.remove();
// 'ref' dovrebbe essere 'null'
System.out.println("Weak Reference: " + ref.get());
// Aspetto fino a quando il phantom reference è in coda e lo rimuovo
ref = phantomQueue.remove();
System.out.println("Phantom Reference: " + ref.get());
// Devo cancellare anche il phantom referent, anche se la
// get() ritorna 'null'
ref.clear();
} catch(InterruptedException e) {
e.printStackTrace();
return;
}
}
}
__________________
- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale. - A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson Ultima modifica di -fidel- : 06-02-2006 alle 14:15. |
|
|
|
|
|
|
#198 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
Quote:
|
|
|
|
|
|
|
#199 | |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 2722
|
Quote:
Anzi, potrebbe essere un'occasione per te di imparare cose nuove, sempre che non pensi di sapere già tutto sull'informatica eh! Ti prego NON rientriamo in polemica, ma ti faccio notare questo dal momento che mi hai offeso su basi inesistenti. Forse è meglio che ti fermi...
__________________
- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale. - A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson |
|
|
|
|
|
|
#200 | |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 2722
|
Quote:
__________________
- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale. - A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:21.












Raffo™ (io, non la birra) |
|









