Nganyari JPype 1.0.2, perpustakaan kanggo ngakses kelas Java saka Python

Kasedhiya release anyar saka interlayer jpg 1.0.2, sing ngidini aplikasi Python duwe akses lengkap menyang perpustakaan kelas ing basa Jawa. Kanthi JPype saka Python, sampeyan bisa nggunakake perpustakaan khusus Jawa kanggo nggawe aplikasi hibrida sing nggabungake kode Java lan Python. Boten kados Jython, integrasi karo Jawa digayuh ora liwat nggawe varian Python kanggo JVM, nanging liwat interaksi ing tingkat loro mesin virtual nggunakake memori sambungan. Pendekatan sing diusulake ngidini ora mung entuk kinerja sing apik, nanging uga menehi akses menyang kabeh perpustakaan CPython lan Java. Kode proyek disebarake dening dilisensi ing Apache 2.0.

Owah-owahan utama:

  • Cache wis ditambahake menyang panggilan metode kanggo ngindhari resolusi kakehan, sing nyuda pengaruh kinerja resolusi metode, utamane yen kakehan sing padha diarani kaping pirang-pirang, kaya nalika eksekusi loop.
  • Saka 4 nganti 100 kaping, gumantung saka jinis data, transfer dhaptar, tuple lan buffer menyang array primitif Jawa digawe cepet. Konversi nggunakake pangolahan sing dioptimalake saka buffer ing memori, tinimbang API Sekuen. Nalika buffer Python ketemu, mung unsur pisanan dicenthang kanggo konversi, wiwit buffer iki podho.
  • Ngolah operasi mati (dilaksanakake ing JPype 1.0.0, nanging dilewati nalika nyiapake changelog). JPype saiki nelpon rutin mateni JVM, sing nyoba metu kanthi apik. Iki ndadΓ©kakΓ© kanggo sawetara owah-owahan ing prilaku. Utas non-latar mburi (panggilan proxy) saiki bisa mbukak JVM nganti rampung. Telpon proxy bakal diproses mati nganti telpon rampung, nanging bakal nampa pesen batal. File saiki ditutup kanthi bener lan disiram menyang disk yen benang nangani pengecualian kaya sing dikarepake. Pancingan reresik sumber daya lan finalizers kaleksanan. Nalika Utas wis spawned, pancingan AtExit disebut. Liwat daemon, lampiran thread otomatis dileksanakake nalika nggunakake JVM saka Python. Kode buggy sing ora bisa nangani reresik thread kanthi bener bakal macet nalika shutdown dieksekusi. Dokumentasi tambahan bisa ditemokake ing manual pangguna.
  • Pambungkus kanggo Throwable nampa pambungkus kanggo Obyek tinimbang asil samesthine, kang mimpin kanggo konversi aneh saka kelas Python.
  • Salah ketik tetep ing sistem impor sing nyebabake kesalahan 'Β»jnameΒ» ora ditemokake'.
  • Mesthekake yen "^C" dipromosekake kanthi bener ing KeyboardInterrupt.
  • Ndandani masalah karo simbol wiwit Python 3.5.3. PySlice_Unpack dikenalakΓ© ing release tembelan sakteruse (3.5.4) lan ngirim ora wis digunakake.
  • Ndandani bug karo numpy.linalg.inv sing nyebabake kacilakan. Jeksa Agung bisa ngetokake wis dilacak kanggo komunikasi thread antarane JVM lan sawetara rasa numpy. Solusi sing diusulake yaiku nelpon numpy.linalg.inv sadurunge miwiti JVM.

Source: opennet.ru

Add a comment