Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Java için Azure Komut Başlatıcısı (jaz), Java geliştiricilerin uygulamalarını Azure üzerinde çalıştırma şeklini basitleştiren basit bir yardımcı programdır.
Java Sanal Makinesi (JVM) seçeneklerini bulut ortamları için uyarlanmış bir şekilde akıllıca uygulayarak, araç yapılandırma ek yükünü azaltır ve doğrudan kaynak kullanımını iyileştirir, daha iyi performans olanağı sunar.
Bu araç, şu işlemleri yapan geliştiriciler için idealdir:
- Ayarlama kılavuzlarına derinlemesine girmeden daha iyi JVM varsayılanları istiyorum.
- Spring Boot, Quarkus veya Micronaut gibi çerçevelerle bulutta yerel mikro hizmetler geliştirin ve dağıtın.
- Kubernetes ve OpenShift gibi kapsayıcı tabanlı iş akışlarını tercih edin.
- Azure Container Apps, Azure Kubernetes Service, Azure Red Hat OpenShift veya Azure Virtual Machines Java iş yüklerini dağıtın.
Temel özellikler
- 🛠 Bulutta yerel dağıtımlar için JVM bayraklarını otomatik olarak ayarlar.
-
🚀 Tak çalıştır deneyimi. Dockerfile'ınıza veya başlatma betiğinize
javakoymanız vejazkomutunu değiştirmeniz gerekiyor. - ☁️ Azure ortamlar için iyileştirilmiş.
- 🔧 Ortam değişkenleri aracılığıyla özelleştirilebilir. Yapılandırma değişikliklerini güvenli bir şekilde kullanıma sunmanın çeşitli yolları vardır.
Desteklenen ortamlar
Java için Azure Komut Başlatıcısı, linux tabanlı ortamlarda Java başlatıcının kullanılabildığı her yerde kullanılabilir. Aşağıdaki Azure ve CI/CD platformları genelinde doğrulanmış ve test edilmiştir:
- Azure Kubernetes Hizmeti (AKS)
- Azure Container Apps
- Azure App Service
- Azure Functions
- Azure Red Hat OpenShift (ARO)
- Azure Virtual Machines
- Azure DevOps
- GitHub Codespaces
- GitHub Actions
Genel önizleme
Java için Azure Komut Başlatıcısı artık genel önizlemede! Bu araç ve avantajlarına giriş için genel önizleme duyurusunu okuyun.
Nasıl çalışır?
Java için Azure Komut Başlatıcısı, kapsayıcınız veya sanal makine başlatma komutunuz ile JVM arasında yer alır. Aracı başlattığınızda:
- Bulut ortamını algılar (örneğin, kapsayıcı sınırları ve kullanılabilir bellek).
- İş yükü türünü analiz eder ve aşağıdakiler gibi en uygun JVM ayarlama bayraklarını seçer:
- Yığın boyutlandırma.
- Çöp toplayıcı seçimi ve ayarlama.
- Gerektiğinde günlüğe kaydetme ve tanılama ayarları yapılabilir.
- Ayarlama bayraklarını ve kullanıcı tarafından sağlanan bağımsız değişkenleri geçirerek bir Java işlemi başlatır.
- Java işlemine stdout, stderr, stdin ve işletim sistemi sinyallerini görünmez bir şekilde aktarır.
- Java işlemini izler ve sonlandırıldığında çıkış kodunu aktarır.
Örnek kullanım
Java için Azure Komut Başlatıcısı, kod değişikliği gerektirmeden java komutunun yerine bir açılır menüdür. Basitçe, başlatma betiklerinizde java'ü jaz ile değiştirin; örneğin, java -jar foo.jar'yi jaz -jar foo.jar ile değiştirin.
JVM seçeneklerinizi el ile ayarlamak yerine:
JAVA_OPTS="-XX:... several JVM tuning flags"
java $JAVA_OPTS -jar myapp.jar
jaz kullanın:
jaz -jar myapp.jar
Uygulamanız aşağıdakilerden otomatik olarak yararlanabilir:
- Bulutta yerel ve kapsayıcı iş yükleri için savaşta test edilmiş varsayılanlar.
- Bulutta bellek israfı azaltıldı.
- Daha iyi başlangıç ve ısınma performansı.
Kurulum
Java için Azure Komut Başlatıcısı hem x64 hem de arm64 Linux için kullanılabilir. Desteklenen yükleme yöntemleri şunlardır:
- Araç önceden yüklenmiş olarak bir kapsayıcı görüntüsü kullanın.
- Azure Linux'e yükleyin.
- Microsoft Ürünleri için Linux Yazılım Deposundan Yükleme.
Konteyner görüntüleri
Araç, Microsoft Build of OpenJDK için konteyner görüntülerine dahildir. Daha fazla kurulum gerekmez.
Örneğin, aşağıdaki Dockerfile bir jaz dosyasından Java uygulaması çalıştırmak için jar kullanır:
# 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"]
Azure Linux'a yükleme
Sanal makineler ve diğer Azure Linux ortamları için, tdnf paket yöneticisini kullanarak aracı yükleyebilirsiniz.
jaz Paketi aşağıdaki komutla yükleyin:
sudo tdnf install jaz
Diğer Linux dağıtımları
Microsoft Ürünleri için Linux Yazılım Deposu'nun kurulumunu yaptıysanız, jaz paketini yüklemek için dağıtımınız için uygun paket yöneticisi komutunu çalıştırın.
Örneğin, Ubuntu veya Debian tabanlı dağıtımlarda şunu çalıştırın:
sudo apt-get install jaz
Microsoft Ürünleri için Linux Yazılım Deposu'na sahip değilseniz Linux dağıtımınıza yönelik yönergeleri izleyin.
Ubuntu'ya yüklemek için bir terminal açın ve aşağıdaki komutları çalıştırın:
wget "https://packages.microsoft.com/config/ubuntu/$(. /etc/os-release; echo $VERSION_ID)/packages-microsoft-prod.deb" -O packages-microsoft-prod.deb && \
sudo dpkg -i packages-microsoft-prod.deb
Depo eklendikten sonra aşağıdaki komutları çalıştırarak yükleyin jaz :
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install jaz
Desteklenen JVM sürümleri
Java için Azure Komut Başlatıcısı, sistemde OpenJDK tabanlı bir JDK yüklemesi (sürüm 8 veya üzeri) olmasını gerektirir. Şu testlerle yapılmıştır:
- Eclipse Temurin HotSpot JVM ile OpenJDK 8
- Microsoft Build of OpenJDK 11, 17, 21 ve 25.
Önemli
Java için Azure Komut Başlatıcısı tam bir JDK yüklemesi gerektirir. Yalnızca JRE yüklemeleri veya özel jlink çalışma zamanları ile tam olarak test edilmemektedir. Daha fazla bilgi için bkz. "Neden JRE veya jlink çalışma zamanlarıyla çalışmıyor?".
Konfigürasyon
Komut, jaz kendi yapılandırması için herhangi bir komut satırı bağımsız değişkeni kullanmaz.
Bunun yerine, varsayılan olarak tüm bağımsız değişkenleri doğrudan java komutuna geçirir.
Yapılandırmanın uygulamanızın jaz bağımsız değişkenlerine müdahale etmediğinden emin olmak için yalnızca jaz ortam değişkenleri aracılığıyla yapılandırmayı kabul eder.
Komut jaz şu ortam değişkenleri kullanılarak yapılandırılabilir:
Komut satırı bağımsız değişkenleri yerine ortam değişkenlerini kullanmak da bazı durumlarda yapılandırmayı jaz kolaylaştırır.
Kapsayıcılı bir uygulama dağıtırken, bazen ortam değişkenlerini ayarlamak, başlatma betiklerini değiştirmekten daha kolaydır ve JAZ_IGNORE_USER_TUNING ile deney yapmak JAZ_BYPASS değerlendirilirken jaz yararlı olabilir.
Yol Haritası
- ⚙️ JVM yapılandırma profilleri
- 📦 AppCDS desteği
- 🔄 Sürekli ayarlama
- 📊 Telemetri
- 📦 Leyden desteği
Değişiklik günlüğü
0.0.0-preview+20260421.1
- Bağımlılık güncellemeleri.
0.0.0-preview+20260408.1
- Bağımlılık güncellemeleri.
0.0.0-preview+20260403.2
- Bağımlılık güncellemeleri.
0.0.0-preview+20260323.1
- Bağımlılık güncellemeleri.
0.0.0-preview+20260223.1
- Bağımlılık güncellemeleri.
0.0.0-preview+20260120.1
- Bağımlılık güncellemeleri.
0.0.0-preview+20251211.7
- Bağımlılık güncellemeleri.
- Diğer hata düzeltmeleri.
0.0.0-preview+20251205.1
- İç hata düzeltmeleri.
0.0.0-preview+20251126.1
- Sertifikalı sürümler listesine Microsoft Build of OpenJDK 25 ekleyin.
0.0.0-preview+20251120.1
- Bağımlılık güncellemeleri.
0.0.0-preview+20251118.1
- Genel Önizleme girin.
- RPM ve DEB paketlerini uygulayın.
- Atık toplayıcının yaygın olmayan ayarlamalarını geliştirin.
- Java programı sıfır olmayan bir kodla çıktığında belirsiz tanılama çıktısını yaymayı durdurun.
- İşletim sistemi sinyallerini Java işleme iletmeyi geliştirin; örneğin,
SIGTERMveSIGINT.- Java uygulamasını çalıştıran bir kapsayıcıyı durdurmak artık uygulamaya düzgün bir şekilde kapatılması için zaman verir.
-
PrintFlagsFinalkullanımını kaldırarak belirli Java uygulamalarıyla uyumluluğu geliştirin.- Özel durum oluşturma çağrılarını
System.console()düzeltin. - Stdout akışı arabelleğe alma sorunu düzeltildi:
jazartık yeni satır karakteri görene kadar çıktıyı aktarmayı geciktirmiyor.
- Özel durum oluşturma çağrılarını
- Diğer hata düzeltmeleri ve iç dayanıklılık geliştirmeleri.
Özel önizleme 2
- Hata düzeltmeleri.
- Glibc gereksinimlerini azaltarak Genişletilmiş Linux dağıtım uyumluluğu.
-
jazşimdi el ile JVM ayarlaması olup olmadığını algılar ve bu durumda kendi ayarlamalarını uygulamaz. -
JAZ_IGNORE_USER_TUNING=1varsa elle yapılan JVM ayarlarını yoksayar ve jaz'ın kendi ayarlarını uygular. - OpenJDK HotSpot JVM 8 ile kullanıldığında
PrintFlagsFinalgörünen (istenmediğinde) çıkış düzeltildijaz.
Özel önizleme 1
- Java için Azure Komut Başlatıcı'nın ilk sürümü.
Telemetri
Java için Azure Komut Başlatıcısı kullanım verilerini toplar ve ürünlerimizin ve hizmetlerimizin geliştirilmesine yardımcı olmak için Microsoft gönderir. Daha fazla bilgi edinmek için gizlilik bildirimimizi okuyun.