SORU
19 Temmuz 2013, Cuma


Henüz kimse Java 7 için backported Lambda İfadeleri vardır?

what kind of bytecode Java 8 produces from lambdas, Bu Konuyu okurken aklıma Java 5 piyasaya çıktığında zamanı geldi. O zamanlar dönüştürme bayt kodu ile İLGİLENİYORUZ 5 ile derlenmiş TOTEM 1.4 çalıştırmak için Retroweaver other tools vardı.

Henüz kimse Java 8 Lambda için böyle backporting bir araç yarattı?Java geliştiricileri Lambda zaten bugün kullanarak üretim kaliteli Java 7 JREs günü başlayacak, 8 GA sürüm Java için 6-12 ay beklemek zorunda kalmadan.

Burada olduğu gibi backporter nispeten kolay uygulanabilir olması neden benim analizi:

Java 8 Lambda yok gibi kullanın herhangi bir JVM özellikleri Java 7 olmazdı (örneğin invokedynamic) ve java.lang.invoke.LambdaMetafactory Sınıf ve bağımlılıkları gibi saf Java, dolayısıyla Olası uygulamak için bir 3. parti kütüphane. Böylece derlenmiş bayt kodu ile İLGİLENİYORUZ 8 olabilir yapılan kaçak TOTEM 7 ekleyerek bir 3. parti kütüphane ile bir kopyasını LambdaMetafactory (altında farklı bir paket) ve dönüştürme bayt kodu için kullandıkları metafactory yerine. Belki de java.lang.invoke.MagicLambdaImpl ima ettiği gibi bypass Erişebilirlik kontrolleri için bazı sentetik sınıfları ve yöntemleri oluşturmak. Ya sonra lambda-etkin ilk Erken Erişim JDKs bazıları gibi bütün Lambda anonim iç sınıflar oluşturmak.

CEVAP
23 Temmuz 2013, Salı


Lambda ifadeleri ve yöntemi referanslar kullanan dönüştürme Java 8 Java, Java 7, 6 ya 5 çalışmak için artık Retrolambda var. (Java 1.4 hataları kontrol etmek; daha fazla araştırma olmamıştır verdi.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bcbauer

    bcbauer

    7 ŞUBAT 2007
  • Marissah Simonini

    Marissah Sim

    25 HAZİRAN 2013
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012