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.
Microsoft, genel amaçlı Java çalışma zamanlarının kullanılması yerine belirli uygulama gereksinimleri için hazırlanmış özel Java çalışma zamanlarının benimsenmesini onaylar ve destekler. Bu Java dağıtımı yöntemi, Java çalışma zamanının yalnızca Java platformunun uygulamaların gerçekten ihtiyaç duyduğu bölümlerini içermesini sağlar, bu nedenle hem Bulut hem de sunucu tabanlı Java uygulamaları ile masaüstü/GUI uygulamaları için güvenliği artırır, dağıtım boyutunu azaltır ve performansı geliştirir.
Oracle/Sun Microsystems, geleneksel olarak yalnızca Java Sanal Makinesi, Java API'leri ve işletim sistemi ile tarayıcıya özgü tümleştirmeler içeren Java Çalışma Zamanı Ortamı (JRE) yükleyicileri üreterek bilgisayarların İnternet'ten indirilen Java uygulamalarını çalıştırmasını veya Applets ve Java Web Başlangıç uygulamalarını tarayıcı üzerinden çalıştırmasını sağlar.
Modern web uygulamalarının ve tarayıcılarının ortaya çıkmasıyla hem Applet hem de Java Web Başlangıç teknolojileri kullanım dışı bırakıldı ve tarayıcılar artık Java eklentilerini desteklemiyor. Bilgisayarlarda önceden yüklenmiş genel amaçlı Java Çalışma Zamanı Ortamları ihtiyacı zamanla daha az önemli hale geldi. Java 9 ile Applet API'si kullanımdan kaldırıldı (bkz . JEP 289) ve Java 17 ile API kaldırılmak üzere işaretlendi, yani Java'nın gelecekteki bir sürümünde kesinlikle kaldırılacak.
Java 9 sürümüyle başlayan Java modülerleştirmesi de önemli bir değişikliktir (bkz. JSR 376). Bu değişikliğin bir parçası olarak, geliştiriciler artık JDK'de jlink
adı verilen yeni eklenen bir komut satırını kullanarak uygulamaların gereksinimlerine uygun, özel olarak tasarlanmış bir Java çalışma zamanı oluşturabilirler. Bu çalışma zamanı, çoğu zaman bulut tabanlı iş yükleri için bir kapsayıcı imajının parçası olarak veya GUI tabanlı uygulamalar için yükleyicilerin bir parçası olarak, uygulama koduyla bütünleşik bir gömülü çalışma zamanı halinde dağıtılabilir.
Bugün Minecraft: Java Edition, oyuna eklenmiş özel bir Java çalışma zamanı ile milyonlarca Minecraft oyuncuya dağıtılır. Microsoft, LinkedIn, Yammer, Bing ve Azure gibi çevrimiçi hizmetlerin arkasında da bu tekniği kullanarak yüz binlerce JVM dağıtır.
Özel Java çalışma zamanı oluşturma
Java çalışma zamanı oluşturmak için ortamınızda JDK 9 veya üzeri yüklü olmalıdır. Önce OpenJDK'nin Microsoft Derlemesi'ni indirin ve yükleyin.
ile gerekli modülleri tanımlama jdeps
Java Platformu artık modüller halinde segmentlere ayrılmıştır. Tam liste için Java 17 belgelerine bakın; Java'nın diğer sürümleri yeni modüller içerebilir.
JDK aracı jdeps
java modülü bağımlılıklarını, JDK iç bağımlılıklarını ve geliştiricilerin Java çalışma zamanı oluşturmasına yardımcı olacak diğer yararlı bilgileri belirlemek üzere bir .class
dosyayı, dizini veya dosyayı analiz JAR
etmek için kullanılabilir.
$ 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
Araçjdeps
, bu sınıfın yalnızca ve java.lang
paketlerindeki java.io
türlere bağlı olduğunu gösterir, bu nedenle yalnızca modülüne java.base
ihtiyaç duyar. Bir JAR
dosyası giriş olarak verildiğinde benzer bir çıkış üretilebilir. Gerekli modüllerin listesiyle artık bir Java çalışma zamanı oluşturabilirsiniz.
jlink
kullanarak Java çalışma zamanı oluşturma
JDK'den java çalışma zamanı oluşturmak için hangi modülleri istediğinizi bilmeniz gerekir. Bunları tanımlamak için kullanın jdeps
. Komut satırı aracıyla jlink
ilgili ayrıntılar için lütfen belgelere bakın.
Örnek:
$ jlink \
--add-modules java.base \
--strip-debug \
--no-man-pages \
--no-header-files \
--compress=2 \
--output /javaruntime
Artık modülüne bağımlı /javaruntime
uygulama kodunu yürütmek için konumundaki java.base
Java çalışma zamanını kullanabilirsiniz. tarafından javaruntime
üretilen klasörün yapısı jlink
JDK dizin yapısına benzer ve java
JVM'yi başlatmak için komut satırı aracı klasörde her zamanki gibi bulunur./bin/
. Özel bir Java çalışma zamanı, mevcut bir uygulamanın tüm gerekli modüllerini içeriyorsa, JAVA_HOME
tarafından başvurulabilir.
$ /javaruntime/bin/java HelloWorld
Hello, World!
Yukarıdaki örnekte, Windows üzerinde üretilen Java çalışma zamanı Windows üzerinde yaklaşık 24 MB tüketir.
Docker kapsayıcı görüntüsü ile Java çalışma zamanı oluşturma
Görüntü derlemenizin bir parçası olarak özel Java çalışma zamanını oluşturmak, kullanmak ve paketlemek için Docker çok aşamalı derlemelerini kullanabilirsiniz. Docker kullanarak Java çalışma zamanı oluşturmayı öğrenin.
Bilgi bankası
javax.net.ssl.SSLHandshakeException: Ölümcül uyarı alındı: handshake_failure
Bu sorunun nasıl çözüleceklerine ilişkin bir açıklama için Java Güvenliği ve Şifreleme'yi ziyaret edin.
Kaynaklar
OpenJDK'nin Microsoft Derlemesi hakkında geri bildirim sağlayın
OpenJDK'nin Microsoft Derlemesi'ni geliştirmemize yardımcı olmak için yorumlarınızı, düşüncelerinizi ve fikirlerinizi bize gönderin. Bize geri bildirim göndermek için GitHub'da OpenJDK tartışmaları sayfamızı ziyaret edin.
Java ve OpenJDK, Oracle’ın ve/veya bağlı kuruluşlarının ticari markaları ya da tescilli ticari markalarıdır.