Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Command Launcher för Java (jaz) är ett enkelt verktyg som förenklar hur Java-utvecklare kör sina program i Azure.
Genom att intelligent tillämpa JVM-alternativ (Java Virtual Machine) som är skräddarsydda för molnmiljöer minskar verktyget konfigurationskostnaderna och förbättrar resursutnyttjandet direkt, med högre potential för bättre prestanda.
Det här verktyget är idealiskt för utvecklare som:
- Vill ha bättre JVM-standardvärden utan att dyka djupt in i justeringsguider.
- Utveckla och distribuera molnbaserade mikrotjänster med ramverk som Spring Boot, Quarkus eller Micronaut.
- Föredrar containerbaserade arbetsflöden som Kubernetes och OpenShift.
- Distribuera Java-arbetsbelastningar i Azure Container Apps, Azure Kubernetes Service, Azure Red Hat OpenShift eller Azure Virtual Machines.
Viktiga funktioner
- 🛠 Justerar automatiskt JVM-flaggor för molnbaserade distributioner.
-
🚀 Plug-and-play-upplevelse. Släpp bara i Dockerfile eller starta skriptet och ersätt
javakommandot medjaz. - ☁️ Optimerad för Azure-miljöer.
- 🔧 Anpassningsbara via miljövariabler. Det finns flera sätt att distribuera konfigurationsändringar på ett säkert sätt.
Miljötyper som stöds
Azure Command Launcher för Java kan användas oavsett var Java-startprogrammet är tillgängligt i Linux-baserade miljöer. Den har verifierats och testats på följande Azure- och CI/CD-plattformar:
- Azure Kubernetes Service (AKS)
- Azure Container-applikationer
- Azure App Service
- Azure-funktioner
- Azure Red Hat OpenShift (ARO)
- Virtuella maskiner i Azure
- Azure DevOps
- GitHub Codespaces
- GitHub Actions
Offentlig förhandsversion
Azure Command Launcher för Java är nu tillgänglig i offentlig förhandsversion! Läs det offentliga förhandsversionsmeddelandet för en introduktion till det här verktyget och dess fördelar.
Så här fungerar det
Azure Command Launcher för Java finns mellan startkommandot för din container eller virtuella dator och JVM. När du startar verktyget gör du följande:
- Identifierar molnmiljön (till exempel containergränser och tillgängligt minne).
- Analyserar arbetsbelastningstypen och väljer JVM-justeringsflaggor som passar bäst, till exempel:
- Heapstorlekshantering.
- Val och justering av skräpinsamlare.
- Loggnings- och diagnostikinställningar efter behov.
- Startar en Java-process och skickar den justeringsflaggor och eventuella argument från användaren.
- Osynligt vidarebefordrar stdout-, stderr-, stdin- och OS-signaler till och från Java-processen.
- Övervakar Java-processen och vidarebefordrar slutkoden när den avslutas.
Exempel på användning
Azure Command Launcher för Java är en drop-in ersättning för java kommandot, vilket inte kräver några kodändringar.
java Ersätt helt enkelt med jaz i startskripten, till exempel ersätt java -jar foo.jar med jaz -jar foo.jar.
I stället för att justera JVM-alternativen manuellt:
JAVA_OPTS="-XX:... several JVM tuning flags"
java $JAVA_OPTS -jar myapp.jar
Använd jaz:
jaz -jar myapp.jar
Programmet kan automatiskt dra nytta av:
- Stridstestade standardvärden för molnbaserade arbetsbelastningar och containerarbetsbelastningar.
- Minskat minnesavfall i molnet.
- Bättre start- och uppvärmningsprestanda.
Installation
Azure Command Launcher för Java är tillgängligt för både x64 och arm64 Linux. De installationsmetoder som stöds är:
- Använd en containeravbildning med verktyget förinstallerat.
- Installera på Azure Linux.
- Installera från Linux-programvarulagringsplatsen för Microsoft-produkter.
Containeravbildningar
Verktyget ingår i containeravbildningarna för Microsoft Build of OpenJDK. Ingen mer konfiguration krävs.
Den här Dockerfile använder jaz till exempel för att köra ett Java-program från en jar fil:
# Use any Microsoft Build of OpenJDK base image
FROM mcr.microsoft.com/openjdk/jdk:25-ubuntu
# Add your application.jar
COPY application.jar /application.jar
# Use jaz to launch your Java application
CMD ["jaz", "-jar", "application.jar"]
Installera på Azure Linux
jaz Installera paketet med följande kommando:
sudo tdnf install jaz
Installera från Linux-programvarulagringsplatsen för Microsoft-produkter
Om du redan har konfigurerat Linux-lagringsplatsen för Microsoft-produkter kör du lämpligt pakethanterarkommando för distributionen jaz för att installera paketet.
Annars hittar du de instruktioner som matchar din Linux-distribution i följande lista.
Följ anvisningarna, men installera jaz i stället för paketet msopenjdk-25 .
JVM-versioner som stöds
Azure Command Launcher för Java stöder OpenJDK-baserade versioner och har testats med:
- Eclipse Temurin OpenJDK 8 med HotSpot JVM
- Microsoft Build of OpenJDK 11, 17, 21 och 25.
Konfiguration
Kommandot jaz använder inga kommandoradsargument för sin egen konfiguration.
Som standard skickar den i stället alla argument direkt till java kommandot.
För att säkerställa att jaz konfigurationen inte stör programmets argument godkänner jaz du bara konfigurationen via miljövariabler.
Kommandot jaz kan konfigureras med hjälp av dessa miljövariabler:
Om du använder miljövariabler i stället för kommandoradsargument blir det också enklare att konfigurera jaz i vissa fall.
När du distribuerar ett containerbaserat program är det ibland enklare att ange miljövariabler än att ändra startskript och experimentera med JAZ_IGNORE_USER_TUNING och JAZ_BYPASS kan vara användbart när du utvärderar jaz.
Översikt
- ⚙️ JVM-konfigurationsprofiler
- 📦 Stöd för AppCDS
- 🔄 Kontinuerlig justering
- 📊 Telemetri
- 📦 Leyden-stöd
Ändringslogg
Offentlig förhandsversion 1: 0.0.0-preview+20251118.1
- Implementera RPM- och DEB-paket.
- Förbättra justeringar för skräpinsamlaren som inte har återkräftts.
- Sluta generera oklara diagnostiska utdata när Java-programmet avslutas med icke-nollkod.
- Förbättra operativsystemets signalvidarebefordring till Java-processen, till exempel
SIGTERMochSIGINT.- Att stoppa en container som kör ett Java-program ger nu programmet tid att stänga av korrekt.
- Ta bort användningen av
PrintFlagsFinal, vilket förbättrar kompatibiliteten med vissa Java-program.- Åtgärda anrop till
System.console()som kastar undantag. - Åtgärda stdout-strömbuffertning:
jazfördröjer inte längre vidarebefordran av utdata förrän ett nytt radtecken visas.
- Åtgärda anrop till
- Andra felkorrigeringar och förbättringar av intern motståndskraft.
Privat förhandsversion 2
- Buggkorrigeringar.
- Utökad Linux-distributionskompatibilitet genom att minska glibc-kraven.
-
jazidentifierar nu om någon manuell JVM-justering finns och i sådana fall tillämpar den inte sina egna justeringar. -
JAZ_IGNORE_USER_TUNING=1ignorerar manuell JVM-justering om den finns och tillämpar jazs egna justeringar i stället. - Åtgärdade problemet med att
PrintFlagsFinal-utdata visas utan att det begärts närjazanvänds med OpenJDK HotSpot JVM 8.
Privat förhandsversion 1
- Första versionen av Azure Command Launcher för Java.
Telemetri
Azure Command Launcher för Java samlar in användningsdata och skickar dem till Microsoft för att förbättra våra produkter och tjänster. Mer information finns i vår sekretesspolicy.