JPype 1.0.2 hloov tshiab, lub tsev qiv ntawv rau kev nkag mus rau Java chav kawm los ntawm Python

Muaj kev tso tawm tshiab ntawm interlayer JPype 1.0.2, uas tso cai rau Python cov ntawv thov kom muaj kev nkag mus rau cov tsev qiv ntawv hauv chav kawm hauv Java. Nrog JPype los ntawm Python, koj tuaj yeem siv Java cov tsev qiv ntawv tshwj xeeb los tsim cov ntawv thov sib xyaw uas sib xyaw Java thiab Python code. Tsis zoo li Jython, kev koom ua ke nrog Java ua tiav tsis yog los ntawm kev tsim Python sib txawv rau JVM, tab sis los ntawm kev sib cuam tshuam ntawm qib ntawm ob lub tshuab virtual siv lub cim xeeb sib koom. Txoj kev npaj tso cai tsis yog tsuas yog ua kom tiav kev ua tau zoo, tab sis kuj muab kev nkag mus rau txhua lub tsev qiv ntawv CPython thiab Java. Qhov project code faib los ntawm muaj ntawv tso cai nyob rau hauv Apache 2.0.

Cov kev hloov loj:

  • Ib lub cache tau ntxiv rau txoj kev hu kom tsis txhob muaj kev daws teeb meem ntau dhau, uas txo qhov kev ua tau zoo ntawm txoj kev daws teeb meem, tshwj xeeb tshaj yog tias tib lub overload hu ua ntau zaus, xws li thaum lub sijhawm ua haujlwm.
  • Los ntawm 4 mus rau 100 lub sij hawm, nyob ntawm seb hom ntaub ntawv, kev hloov ntawm cov npe, tuples thiab buffers rau arrays ntawm Java primitives yog nrawm. Kev hloov dua siab tshiab siv cov kev ua kom zoo tshaj plaws hauv kev nco buffers, tsis yog Sequence API. Thaum ntsib Python tsis yog, tsuas yog thawj lub ntsiab lus raug kuaj xyuas rau kev hloov dua siab tshiab, vim tias cov buffers no yog homogeneous.
  • Kev ua haujlwm kaw haujlwm (ua tiav hauv JPype 1.0.0, tab sis raug hla thaum npaj lub changelog). JPype tam sim no hu rau JVM kev kaw haujlwm, uas sim tawm mus zoo. Qhov no ua rau ntau qhov kev hloov pauv ntawm tus cwj pwm. Cov xov uas tsis yog keeb kwm yav dhau (cov npe hu ua) tam sim no tuaj yeem khaws JVM qhib kom txog thaum lawv ua tiav. Proxy hu yuav kaw kom txog thaum hu ua tiav, tab sis yuav tau txais cov lus rho tawm. Cov ntaub ntawv tam sim no raug kaw kom raug thiab yaug mus rau disk yog tias cov xov tuav qhov kev zam raws li xav tau. Cov kev pab cuam ntxuav hooks thiab finalizers raug tua. Thaum threads spawned, AtExit hooks raug hu. Los ntawm daemon, tsis siv neeg xov txuas yog siv thaum siv JVM los ntawm Python. Buggy code uas tsis tuaj yeem daws cov xov tu kom zoo yuav zoo li dai thaum kaw raug tua. Cov ntaub ntawv ntxiv tuaj yeem pom hauv phau ntawv siv.
  • Lub wrapper rau Throwable tau txais wrapper rau Object es tsis txhob ntawm qhov xav tau tshwm sim, uas coj mus rau kev hloov pauv txawv txawv los ntawm cov chav kawm Python.
  • Tsau typos hauv cov txheej txheem ntshuam uas ua rau qhov yuam kev 'Β»jnameΒ» tsis pom'.
  • Xyuas kom meej tias "^C" raug txhawb kom raug hauv KeyboardInterrupt.
  • Tsau teeb meem nrog cov cim txij li Python 3.5.3. PySlice_Unpack tau qhia nyob rau hauv qhov kev tso tawm tom ntej (3.5.4) thiab yuav tsum tsis txhob siv.
  • Kho cov kab laum nrog numpy.linalg.inv uas ua rau muaj kev sib tsoo. Qhov teeb meem tau taug qab los ntawm kev sib txuas lus ntawm JVM thiab qee qhov tsis zoo. Txoj kev daws teeb meem yog hu rau numpy.linalg.inv ua ntej pib JVM.

Tau qhov twg los: opennet.ru

Ntxiv ib saib