0Pricing
Java Academy · Ders

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-Name girdisi
  • 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.java ekleyin
  • Bu otomatik modül adlarına yönelik requires bildirimleri 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-Name ayarlayın
  • Bölünmüş paketlere ve yansıma erişimine dikkat edin; planlama için jdeps kullanı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.

Bu kursun tüm dersleri

  1. module-info.java
  2. requires ve exports
  3. provides/uses ile Hizmetler
  4. Modüllere Geçiş
← Java Academy Sayfasına Dön