JPype 1.0.2 whakahou, he whare pukapuka mo te uru atu ki nga karaehe Java mai i te Python

Wātea tuku hou o te interlayer JPype 1.0.2, ka taea e koe te whakarite i te uru katoa o nga tono Python ki nga whare pukapuka karaehe Java. Ma te JPype mai i te Python, ka taea e koe te whakamahi i nga whare pukapuka Java-motuhake ki te hanga tono ranu e whakakotahi ana i te waehere Java me te Python. Kaore i rite ki a Jython, ko te whakauru ki a Java ka tutuki ehara i te mea i hangaia he momo Python mo te JVM, engari ma te taunekeneke i te taumata o nga miihini mariko e rua ma te whakamahi i te mahara tiritahi. Ko te huarahi e whakaarohia ana e kore e taea anake te whakatutuki i nga mahi pai, engari ka uru atu ki nga whare pukapuka CPython me Java katoa. Waehere kaupapa tohaina e kua raihanatia i raro i te Apache 2.0.

Nga huringa matua:

  • Kua taapirihia he keteroki ki nga waea tikanga hei karo i te taumira taumaha, ka tino whakaiti i te paanga mahi o te whakatau tikanga, ina koa ka karangahia taua taumahatanga he maha nga wa, penei i te wa e mahia ana te kopae.
  • Mai i te 4 ki te 100 nga wa, i runga i te momo raraunga, ka whakaterehia te whakawhitinga o nga rarangi, nga tuples me nga kaitarai ki nga huinga o Java primitives. Ko te hurihanga ka whakamahi i te tukatuka papaitia o nga papaa-maumahara, hei utu mo te API Raupapa. I te wa e pa ana ki te Python buffer, ko te huānga tuatahi anake ka tirohia mo te hurihanga, na te mea he rite enei parepare.
  • Tukatuka mahi whakaweto (i whakatinanahia ki JPype 1.0.0, engari i pekehia i te wa e whakarite ana i te changelog). Ka karangahia e JPype te mahinga kati JVM, e ngana ana ki te puta marie. He maha nga huringa o te whanonga. Ka taea e nga miro kore-papamuri (waea takawaenga) te tuwhera tonu i te JVM kia oti ra ano. Ko nga waea takawaenga ka tukatuka i te katinga kia mutu ra ano te waea, engari ka whiwhi karere whakatahe. Kua katia tika nga konae ka peia ki te kopae mena ka mau nga miro ki te mea e tika ana. Ka mahia nga matau horoi rawa me nga whakaotinga. Ka puta nga miro, ka kiia nga matau AtExit. Na roto i te daemon, ka whakatinanahia te taapiri miro aunoa i te whakamahi i te JVM mai i te Python. Ko te waehere buggy e kore e taea te whakahaere tika i te horoi miro ka iri ka iri ana ka whakawetohia. Ka kitea etahi atu tuhinga i roto i te pukapuka kaiwhakamahi.
  • I whiwhi te takai mo Throwable he takai mo te Ahanoa hei utu mo te hua e tumanakohia ana, i puta mai he huringa rereke mai i nga karaehe Python.
  • Kua whakatikahia nga hapa i roto i te punaha kawemai i puta ai te hapa '»jname» kaore i kitea'.
  • Me whakarite kia tika te whakatairanga "^C" ki te KeyboardInterrupt.
  • Kua whakatikahia te raru me nga tohu mai i te Python 3.5.3. I whakauruhia a PySlice_Unpack i roto i te tukunga papaki i muri mai (3.5.4) me te kore e whakamahia.
  • Kua whakatikahia he pepeke me te numpy.linalg.inv i tukinga. Kua kitea te take ki te whakawhitiwhiti miro i waenga i te JVM me etahi momo reka. Ko te otinga e whakaarohia ana me waea atu ki te numpy.linalg.inv i mua i te tiimata i te JVM.

Source: opennet.ru

Tāpiri i te kōrero