PDA

View Full Version : [java] System call


nuovoUtente86
29-07-2007, 22:46
So che java dovrebbe offrire la possibilità di integrare nel proprio codice delle system call(eventualmente dovrebbero essere in C credo).Come funziona esattamente?In tal caso si dovrebbe perdere la portablità del codice.

Sempre in ambito System call per compiere operazioni come caricare un file,eliminarlo,ecc java dovrebbe utilizzare le system call..ma queste vengono implementate a quale livello?L' intuito mi dice a livello della jvm dato che è l' unico strumento legato al sistema....Come funziona esattamente?

andbin
30-07-2007, 08:16
So che java dovrebbe offrire la possibilità di integrare nel proprio codice delle system call(eventualmente dovrebbero essere in C credo).Come funziona esattamente?Si usa JNI (Java Native Interface).

http://en.wikipedia.org/wiki/Java_Native_Interface

In tal caso si dovrebbe perdere la portablità del codice.Concettualmente sì. Ma se si è in grado di realizzare la libreria nativa in modo che sia "portabile" (e quindi compilabile) su più piattaforme, allora la compatibilità è preservata ... perlomeno sulle piattaforme per cui la libreria è disponibile.

Sempre in ambito System call per compiere operazioni come caricare un file,eliminarlo,ecc java dovrebbe utilizzare le system call..Viene usato sempre JNI. Ad esempio quando richiami il metodo delete() della classe File, all'interno del framework, alla fin fine, verrà sicuramente fatta una chiamata ad un metodo marcato 'native'.