ʻO JPype 1.0.2 hōʻano hou, nā hale waihona puke no ke komo ʻana i nā papa Java mai Python

Loaʻa hoʻokuʻu hou o interlayer jpg 1.0.2, hiki i nā polokalamu Python ke komo piha i nā hale waihona puke ma ka ʻōlelo Java. Me JPype mai Python, hiki iā ʻoe ke hoʻohana i nā hale waihona puke Java-specific no ka hana ʻana i nā noi hybrid e hui pū ai i ka code Java a me Python. ʻAʻole like me Jython, hoʻokō ʻia ka hoʻohui ʻana me Java ma o ka hana ʻana i kahi ʻano Python no ka JVM, akā ma o ka launa pū ʻana ma ka pae o nā mīkini virtual ʻelua me ka hoʻohana ʻana i ka hoʻomanaʻo like. ʻO ke ala i manaʻo ʻia ʻaʻole hiki ke hoʻokō i ka hana maikaʻi wale nō, akā hāʻawi pū i ke komo i nā hale waihona puke CPython a me Java. Code papahana mahele ʻia e laikini ma lalo o Apache 2.0.

Nā hoʻololi nui:

  • Ua hoʻohui ʻia kahi cache i nā kelepona ʻano e pale aku ai i ka hoʻonā ʻana, e hōʻemi nui ana i ka hopena hana o ka hoʻonā ʻano hana, ʻoi aku ka nui inā kāhea ʻia ka overload like i nā manawa he nui, e like me ka wā o ka hoʻokō loop.
  • Mai ka 4 a hiki i ka 100 mau manawa, e pili ana i ke ʻano o ka ʻikepili, ka hoʻololi ʻana o nā papa inoa, nā tuples a me nā buffers i nā arrays o Java primitives e wikiwiki. Hoʻohana ʻia ka hoʻololi ʻana i ka hoʻoili ʻana o nā mea hoʻomanaʻo i loko o ka hoʻomanaʻo, ma kahi o ka Sequence API. Ke ʻike ʻia kahi buffer Python, ʻo ka mea mua wale nō e nānā ʻia no ka hoʻololi ʻana, no ka mea ua like kēia mau pale.
  • Ke kaʻina hana pani pani (i hoʻokō ʻia ma JPype 1.0.0, akā ua lele ʻia i ka wā e hoʻomākaukau ai i ka changelog). Kāhea ʻo JPype i ka hana pani pani ʻana o JVM, e hoʻāʻo nei e haʻalele me ka lokomaikaʻi. Ke alakaʻi nei kēia i kekahi mau loli i ka hana. Hiki i nā lola kumu ʻole (nā kelepona proxy) ke mālama i ka JVM a hiki i ka pau ʻana. E hoʻopau nā kelepona proxy a hiki i ka pau ʻana o ke kelepona, akā e loaʻa iā ia kahi memo hoʻopau. Ua pani ʻia nā faila i kēia manawa a hoʻolele ʻia i ka disk inā e hoʻohana nā kaula i ka ʻokoʻa e like me ka mea i manaʻo ʻia. Hoʻopau ʻia nā makau hoʻomaʻemaʻe waiwai a me nā mea hoʻopau. Ke hoʻoulu ʻia nā kaula, kapa ʻia nā makau AtExit. Ma o ka daemon, hoʻokō ʻia ka hoʻopili ʻana i ke kaula i ka wā e hoʻohana ai i ka JVM mai Python. E kau paha ke code Buggy i hiki ʻole ke mālama pono i ka hoʻomaʻemaʻe pae i ka wā e pani ʻia ai. Hiki ke loaʻa nā palapala hou ma ka manual user.
  • Ua loaʻa i ka wrapper no Throwable kahi wīwī no Object ma kahi o ka hopena i manaʻo ʻia, i alakaʻi i nā hoʻololi ʻē aʻe mai nā papa Python.
  • Ua hoʻopaʻa ʻia nā kuhi hewa i loko o ka ʻōnaehana lawe mai i ka hewa '»jname» ʻaʻole i loaʻa'.
  • Ua hōʻoia ʻia ua hoʻolaha pololei ʻia ʻo "^C" ma KeyboardInterrupt.
  • Hoʻoponopono i ka pilikia me nā hōʻailona mai ka Python 3.5.3. Ua hoʻokomo ʻia ʻo PySlice_Unpack i kahi hoʻokuʻu ʻana i ka patch (3.5.4) a ʻaʻole pono e hoʻohana ʻia.
  • Hoʻoponopono ʻia kahi ʻōpala me ka numpy.linalg.inv i alakaʻi i kahi ulia. Ua ʻike ʻia ka pilikia i ka launa pū ʻana ma waena o ka JVM a me kekahi mau ʻono numpy. ʻO ka hopena i manaʻo ʻia e kāhea i ka numpy.linalg.inv ma mua o ka hoʻomaka ʻana i ka JVM.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka