È, almeno teoricamente, possibile convertire un'applicazione Java in codice nativo che può essere eseguito da qualcos'altro scritto in Java? Un esempio di questo potrebbe essere un server Minecraft Spigot. È possibile codificare i plug-in e inserirli nella cartella dei plug-in del server Spigot. Il server quindi esegue e quindi esegue i plug-in che interagiscono con il server. Sarebbe possibile compilarlo al codice nativo? Se è così, come (i plugin Spigot non hanno un metodo principale, ecco perché excelsior jet non lo convertirà, c'è un modo per aggirare questo?)? E il plugin interagirebbe normalmente con il server Java, considerando che il server Java avrebbe dovuto interagire con il codice nativo?
Un'ulteriore domanda è che il codice nativo finisce nell'esecuzione nella JVM, è più sicuro di una normale applicazione Java in esecuzione in memoria? Quello che intendo è quando si esegue un'applicazione Java, è in memoria e si può scaricare il bytecode. Il codice nativo sarebbe diverso se non fosse nativo?
Sto pensando a qualcosa di sbagliato? Ti chiedo di includere anche eventuali riferimenti o articoli nelle tue risposte.
Grazie
EDIT: Quando parlo di conversione di Java in codice nativo, sto parlando di utilizzare qualcosa come Excelsior Jet , spiegato < a href="https://www.excelsiorjet.com/internals"> qui , che è essenzialmente un compilatore AOT che ha anche un compilatore JIT per tutto ciò che deve essere eseguito al volo.
Le mie domande specifiche sono le seguenti:
- Posso convertire qualcosa che deve essere eseguito da qualcos'altro scritto in Java?
- Il plug-in convertito interagirà allo stesso modo con il server che se non fosse codice nativo?
- Il codice nativo viene quindi eseguito nella JVM? O è interagito esclusivamente con JVM?
- Il bytecode può quindi essere scaricato nello stesso modo in cui è possibile eseguire il bytecode normale? ( esempio qui o modificando OpenJDK)
- E, infine, il codice nativo potrebbe essere facilmente riprogettato o leggibile come il normale codice Java?