La mia domanda riguarda principalmente lo standard, ma anche l'input su come le implementazioni specifiche affrontano il problema. Quindi, senza ulteriori ripetizioni, la mia domanda è;Chi implementa l'interfaccia del sistema operativo in java?
- Chi è responsabile dell'interfaccia del sistema operativo in Java?
- La Java Virtual Machine?
- o la libreria di classi Java?
anche come è questo di solito attuata, attraverso Java Native Interface?
Esempio; Sto leggendo un file, usando java.io.FileReader. Quando si invoca read
su questo oggetto, la JVM chiamerà ovviamente questa funzione, nel file di classe corretto, nel JCL, tuttavia questo codice alla fine si baserà sulla JVM per la chiamata, ad esempio la funzione posix read
? - o il file di classe lo farà da solo, attraverso l'uso di JNI? (supponendo che uno read
debba essere fatto, cioè il file non sia già nella cache/memoria)
Quindi, in realtà, la JVM fornisce solo la funzionalità generiche JNI, che viene utilizzato dal JCL per implementare tutte le operazioni dipendenti dal sistema, chiamando il codice C? – Skeen
Significa anche che si potrebbe implementare una JVM e prendere in prestito semplicemente il JCL da un'altra JVM (per la stessa piattaforma)? – Skeen
Prima domanda: sì, sì. Seconda domanda: in teoria, dovrebbe funzionare, sì. Almeno, non riesco a capire perché non dovrebbe funzionare. –