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ştiricilerinin uygulamalarını Azure'da çalıştırma şeklini basitleştiren basit bir yardımcı programdır.
Bulut ortamları için uyarlanmış Java Sanal Makinesi (JVM) seçeneklerini akıllı bir şekilde uygulayarak, araç, yapılandırma ek yükünü azaltır ve daha iyi performans potansiyelini artırarak varsayılan olarak kaynak kullanımını iyileştirir.
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 Sanal Makineler'de 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ı, Java başlatıcısının Linux tabanlı ortamlarda kullanılabilir olduğu her yerde kullanılabilir. Aşağıdaki Azure ve CI/CD platformları genelinde doğrulanmış ve test edilmiştir:
- Azure Kubernetes Hizmeti (AKS)
- Azure Konteyner Uygulamaları
- Azure App Service
- Azure Functions
- Azure Red Hat OpenShift (ARO)
- Azure Sanal Makineler
- Azure DevOps
- GitHub Codespaces
- GitHub İşlemleri
Genel önizleme
Java için Azure Komut Başlatıcısı artık genel önizleme aşamasında! 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 komutun java 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'a yükleyin.
- Microsoft Ürünleri için Linux Yazılım Deposu'ndan yükleyin.
Konteyner görüntüleri
Araç, OpenJDK'nin Microsoft Derlemesi için kapsayıcı görüntülerinde yer alır. Daha fazla kurulum gerekmez.
Örneğin, aşağıdaki Dockerfile, bir jar dosyası içerisinden jaz Java uygulamasını çalıştırmak için 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 paket yöneticisini tdnf 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, paketi yüklemek jaz 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'nun kurulumunuz yoksa, Linux dağıtımınız için 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üğü
Genel önizleme 1: 0.0.0-preview+20251118.1
- 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 net olmayan tanılama çıktıları yaymayı durdurun.
- Java işlemine işletim sistemi sinyali iletmeyi geliştirin, örneğin
SIGTERMveSIGINT.- Java uygulaması ç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ı, ürünlerimizin ve hizmetlerimizin geliştirilmesine yardımcı olmak için kullanım verilerini toplar ve Microsoft'a gönderir. Daha fazla bilgi edinmek için gizlilik bildirimimizi okuyun.