Modüllere Geçiş
Otomatik ve adsız modüller
Modüllere Geçiş, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
Mevcut Kodu Modülerleştirme
Çok az proje ilk günden modülleri benimser. JPMS, sınıf yolu ve modül yolunun bir arada bulunmasına izin vererek aşamalı geçiş için tasarlanmıştır.
Temel unsurlar otomatik modüller ve adsız modüldür.
Adsız Modül
Sınıf yolundan yüklenen her şey tek bir adsız modülde yaşar. Bu modül diğer tüm modülleri okur ve tüm paketlerini dışa açar.
Bu, eski sınıf yolu kodunun çalışmaya devam etmesini sağlayan köprüdür.
Adlandırılmış Modül Adsız Modülü Okuyamaz
Önemli bir kural vardır: açıkça adlandırılmış bir modül adsız modüle bağımlı olamaz. Sınıf yolu kodu için requires yazamazsınız.
Bu nedenle geçişi alttan üste doğru yaparsınız: önce bağımlılıklarınızın temsilini dönüştürün.
Otomatik Modüller
Modüler olmayan düz bir JAR'ı modül yoluna koyduğunuzda bu JAR bir otomatik modüle dönüşür. Otomatik olarak türetilen bir ad alır, diğer tüm modülleri okur ve tüm paketlerini dışa açar.
Bu sayede adlandırılmış modüller henüz module-info içermeyen bir JAR'ı requires ile belirtebilir.
Ad Nereden Gelir
Bir otomatik modülün adı, aşağıdaki öncelik sırasına göre türetilir:
- Varsa JAR bildirimindeki
Automatic-Module-Namegirdisi - Aksi takdirde JAR dosya adından (sürüm çıkarılır, kısa çizgiler noktalara dönüştürülür)
Kararlı Adlar Önemlidir
Kitaplık yazarları, tamamen modüler hale getirmeden önce bildirimlerine Automatic-Module-Name eklemelidir. Bu, daha sonra gerçek module-info eklendiğinde alt düzey modüllerdeki bağımlılık bildirimlerinin geçerliliğini koruyacak kararlı bir modül adı sağlar.
Automatic-Module-Name: com.example.jsonÜstten Alta Stratejisi
Kendi uygulamanız için önerilen yaklaşım:
- Bağımlılıkları modül yolunda otomatik modüller olarak tutun
- Önce kendi en üst modülünüze bir
module-info.javaekleyin - Bu otomatik modül adlarına yönelik
requiresbildirimleri ekleyin
Örnek Geçiş Adımı
guava-32.jar dosyasının modül yolunda com.google.common adlı otomatik modül olarak bulunduğunu varsayalım. Uygulama modülünüz onu şimdiden gerektirebilir.
module com.example.app {
requires com.google.common;
exports com.example.app.api;
}Bölünmüş Paket Sorunu
Modül sistemi, iki modülün aynı paketi içermesini yasaklar. Bir paketi JAR'lar arasında bölen eski kitaplıklar hatalara neden olur.
JAR'ları birleştirerek, --patch-module kullanarak veya bölünmeyi çözen sürümlere yükselterek sorunu giderin.
Yansıma Erişimi Sorunları
Derin yansıma kullanan çerçeveler, modülerleştirme sonrasında InaccessibleObjectException hatası verebilir. opens yönergeleri ekleyin veya geçici bir köprü olarak --add-opens başlatma seçeneğini kullanın.
Yararlı jdeps Aracı
jdeps aracı JAR'larınızı analiz eder, bağımlılıkları bildirir, dahili JDK API'lerinin kullanımını işaretler ve hatta jdeps --generate-module-info ile aday bir module-info.java oluşturabilir.
Geçişinizi planlamak için önce bu aracı çalıştırın.
Hızlı Kontrol
Düz bir JAR'ın nasıl modül kimliği kazandığını hatırlayın.
Özet
Geçiş tekniklerini öğrendiniz:
- Sınıf yolu kodu adsız modülde yaşar; adlandırılmış modüller buna bağımlılık bildiremez
- Modül yolundaki düz JAR'lar otomatik modüllere dönüşür
- Kararlı adlar için
Automatic-Module-Nameayarlayın - Bölünmüş paketlere ve yansıma erişimine dikkat edin; planlama için
jdepskullanın
JPMS kursu burada tamamlanır.
Sıkça Sorulan Sorular
“Modüllere Geçiş” dersi ücretsiz mi?
Evet — “Modüllere Geçiş” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Modüllere Geçiş” dersinde ne öğreneceğim?
Otomatik ve adsız modüller Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Modüllere Geçiş” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.