• ks. java native interface. java'nin performans sorunlarindan dolayi icine native code koyabilme imkani saglayan standart.. bu sayede java programlarinda processor'un ve makinanin tum performansindan faydalanmak mumkun olmaktadir..
  • diger bir adla sun'in tukurdugunu yalamasi da denebilir.
  • ilk ba$ta ogrenmesi ve yazmasi kastiran; ancak gosterdigi performans ile cektirdiklerini unutturan, performans sorunlarindan dolayi degil, sadece daha du$uk seviye mudahelelerde bulunulmasi gereken durumlar icin olu$turulmu$ interface.
    (bkz: javah)
    (bkz: javap)
  • swt'nin performansini borclu oldugu teknoloji. (bkz: swt)
  • (bkz: #10729914)
  • c++ projelerini javaya çevirenlerin sevgiye boğduğu apidir.
  • java kodunun içine çatır çatır c kodu gömebildiğiniz, java ne ki ben falanca dilde daha iyi yazıyorum diyenlere yaz o zaman kardeşim dedirten teknoloji. öğrenmesi acı verici olabilir, ama kullandıkça huzur verir...
  • netbeans veya eclipse gibi bir ide kullanarak jni gelistirmek icin cagirilan c kodunda degisiklikler yapmak gerekiyor.

    eger cagrilan c kodundaki fonksiyon ismi

    jniexport jbytearray jnicall java_calculatejni_calculatejni(jnienv *env, jobject obj)

    seklinde ise ve bunu cagiran java objesi com.mysite.calculations.calculatexyz paketi icinde ise

    c kodundaki fonsiyon ismi

    jniexport jbytearray jnicall java_com_mysite_calculations_calculatexyz_calculatejni_calculatejni(jnienv *env, jobject obj)

    seklinde degistirilmeli ve tekrar derlenip yeni bir .dll veya .so yaratilmali.

    aksi halde rahatlikla herhangi baska bir seye yorulabilecek bir exception atiyor ve insani buhranlardan buhranlara surukluyor.
  • java virtual machine üzerinden native library ya da uygulamalara erişim sağlayan -iki yönlü- köprü. pek çok dilde olduğu gibi c# wrapper'ı da vardır. native library'lere erişim ve performans için kullanmak neyse de, sırf başka bir uygulamadan function call yapabilmek için kullanmak gereksiz olabiliyor. bu sebeple, lütfen (bkz: socket), olmadı (bkz: shared memory)

    (bkz: ipc)
  • .net karşılığı p/invoke mekanizması gibi düşünülebilir. aralarındaki önemli farklardan biri, managed tarafta çalışma zamanında dinamik kütüphaneden yapılacak native fonksiyon çağrılarında kullanılacak veri yapılarının marshaling'e tabi tutularak uygun hale getirilmesidir. jni'de ise bunu unmanaged tarafta yaparsınız. ayrıca syntax'ı da sevimsizdir.

    (bkz: sevemedim karagözlüm)
hesabın var mı? giriş yap