Eventi
Присоединяйтесь к нам в FabCon Vegas
31 mar, 23 - 2 apr, 23
Конечное событие Microsoft Fabric, Power BI, SQL и ai community. 31 марта по 2 апреля 2025 г.
Зарегистрироваться сегодняQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Microsoft riconosce e supporta l'adozione di runtime Java personalizzati creati per specifiche esigenze dell'applicazione piuttosto che l'uso di runtime Java per utilizzo generico. Questo metodo di distribuzione Java garantisce che il runtime Java contenga solo le parti della piattaforma Java veramente necessarie per le applicazioni, aumentando quindi la sicurezza, riducendo le dimensioni della distribuzione e migliorando le prestazioni, sia per le applicazioni Java basate su cloud che per le applicazioni Java basate su server, nonché applicazioni desktop/GUI.
In genere, Oracle/Sun Microsystems produce programmi di installazione JRE (Java Runtime Environment) che contengono esclusivamente la macchina virtuale Java, le API Java e le integrazioni specifiche del sistema operativo e del browser, finalizzate all'abilitazione di computer per l'esecuzione di applicazioni Java scaricate da Internet o per l'esecuzione di applets e applicazioni Java Web Start tramite il browser.
Con l'avvento di moderne applicazioni Web e browser, le tecnologie Applets e Java Web Start sono diventate deprecate e i browser non supportano più i plug-in Java. La necessità di un ambiente Java Runtime per utilizzo generico preinstallato nei computer è diventata meno significativa nel tempo. Con Java 9, l'API Applet è diventata deprecata (vedere JEP 289) e con Java 17, l'API è diventata contrassegnata per la rimozione, ovvero verrà sicuramente rimossa in una versione futura di Java.
Un'altra modifica significativa è la modularizzazione di Java, avviata anche con la versione Java 9 (vedere JSR 376). Come parte di questa modifica, gli sviluppatori possono ora usare una riga di comando appena aggiunta nel JDK chiamato jlink
per produrre un runtime Java personalizzato progettato appositamente per soddisfare le esigenze delle applicazioni, da distribuire come runtime incorporato predefinito insieme al codice dell'applicazione spesso come parte di un'immagine del contenitore per i carichi di lavoro basati sul cloud, o come parte dei programmi di installazione per le applicazioni basate su GUI.
Oggi Minecraft: Java Edition viene distribuito a milioni di giocatori Minecraft con un runtime Java personalizzato incorporato nel gioco. Dietro Servizi online come LinkedIn, Yammer, Bing e Azure, Microsoft distribuisce anche centinaia di migliaia di JVM usando questa tecnica.
Per creare un runtime Java, è necessario che JDK 9 o versione successiva sia installato nell'ambiente. Scaricare e installare prima Microsoft Build di OpenJDK.
La piattaforma Java è ora segmentata in moduli. Per un elenco completo, vedere la documentazione di Java 17 . Altre versioni di Java possono includere nuovi moduli.
Lo strumento jdeps
JDK può essere usato per analizzare un .class
file, una directory o un JAR
file per identificare le dipendenze del modulo Java, le dipendenze interne JDK e altre informazioni utili che aiuteranno gli sviluppatori a produrre runtime Java.
$ cat HelloWorld.java
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
$ jdeps HelloWorld.class
HelloWorld.class -> java.base
<unnamed> -> java.io java.base
<unnamed> -> java.lang java.base
Lo strumento jdeps
indica che questa classe dipende solo dai tipi nei java.lang
pacchetti e java.io
, pertanto, richiede solo il modulo java.base
. Un output simile verrà prodotto per un JAR
file come input. Con un elenco dei moduli necessari, è ora possibile creare un runtime Java.
Per creare un runtime Java da JDK, è necessario conoscere i moduli desiderati. Usare jdeps
per identificarli. Per informazioni dettagliate sullo strumento da jlink
riga di comando, vedere la documentazione.
Esempio:
$ jlink \
--add-modules java.base \
--strip-debug \
--no-man-pages \
--no-header-files \
--compress=2 \
--output /javaruntime
È ora possibile usare il runtime Java in /javaruntime
per eseguire il codice dell'applicazione dipendente dal java.base
modulo. La struttura della javaruntime
cartella prodotta da jlink
è simile alla struttura di directory JDK e lo java
strumento da riga di comando per avviare la JVM si trova nella ./bin/
cartella come di consueto. Dato che un runtime Java personalizzato contiene tutti i moduli necessari di un'applicazione esistente, può essere fatto riferimento da JAVA_HOME
.
$ /javaruntime/bin/java HelloWorld
Hello, World!
Nell'esempio precedente, il runtime Java prodotto in Windows utilizza circa 24 MB in Windows.
È possibile usare compilazioni multi-fase Docker per creare, usare e comprimere il runtime Java personalizzato come parte della compilazione dell'immagine. Vedere come creare runtime Java con Docker.
javax.net.ssl.SSLHandshakeException: Avviso irreversibile ricevuto: handshake_failure
Per una spiegazione su come risolvere questo problema, vedere Sicurezza e crittografia Java.
Inviaci commenti, pensieri e idee per aiutarci a migliorare microsoft Build of OpenJDK. Visitare la pagina delle discussioni di OpenJDK su GitHub per inviare commenti e suggerimenti.
Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue consociate.
Eventi
Присоединяйтесь к нам в FabCon Vegas
31 mar, 23 - 2 apr, 23
Конечное событие Microsoft Fabric, Power BI, SQL и ai community. 31 марта по 2 апреля 2025 г.
Зарегистрироваться сегодня