Ho lokolloa ha JPype 0.7.2, lilaeborari tsa ho fihlella litlelase tsa Java ho tsoa Python

Fumaneha ho lokolloa ha interlayer JPpype 0.7.2, e u lumellang hore u hlophise phihlello e felletseng ea lits'ebetso tsa Python ho lilaebraring tsa sehlopha sa Java. Ka JPype e tsoang Python, o ka sebelisa lilaebrari tse ikhethileng ho Java ho theha lits'ebetso tse nyalisitsoeng tse kopanyang khoutu ea Java le Python. Ho fapana le Jython, ho kopanngoa le Java ha ho finyelloe ka ho theha mofuta oa Python bakeng sa JVM, empa ka ho sebelisana boemong ba mechine ka bobeli e sebelisang mohopolo o arolelanoeng. Mokhoa o reriloeng ha o lumelle feela ho fihlela ts'ebetso e ntle, empa o fana ka phihlello ho lilaebrari tsohle tsa CPython le Java. Khoutu ea morero ajoa ke e nang le tumello tlas'a Apache 2.0.

Liphetoho tse kholo:

  • Mekhelo e lahliloeng ho C ++ le khoutu ea Java joale e fana ka stack e ikhethang ha mokhelo o hlaha khoutu ea Python. Kahoo, ho fumana leseli mabapi le mokhelo, ha u sa hloka ho letsetsa stacktrace().
  • Lebelo la ho kgutla ha mohala le imenne hararo.
  • Haholo-holo (ka litaelo tsa boholo) e ile ea eketseha lebelo la phetiso ka
    numpy buffers ea multidimensional arrays. Multidimensional primitives feta likopi tse baloang feela tse entsoeng ka har'a JVM ka sebopeho sa C se kopaneng.

  • Bohle ba ka hare ba senotsoeng ba nketsoe sebaka ke ts'ebetsong ea CPython, le matšoao __javaclass__, __javavalue__ le __javaproxy__
    hlakotsoe. Sebaka se inehetseng sa Java se kenyellelitsoe mefuteng eohle ea CPython e futsitsoeng ho tsoa mefuteng ea sehlopha sa jpype. Litafole tsohle tsa lekunutu li fetiselitsoe ho CPython. Mefuta ea Java joale e tlameha ho rua ho tsoa ho JClass metaclass, e sebelisang mefuta ea mefuta. Li-mixins bakeng sa lihlopha tsa motheo tsa Python ha lia lumelloa. Mefuta ke Object, Proxy, Exception, Number le Array mme e rua ka kotloloho ts'ebetsong ea kahare ea CPython.

  • Mokhoa o ntlafalitsoeng oa ho batla le ho sebetsana le mokhelo.
  • Likarolo tse fapaneng li se li sebetsoa e le lipono tse tšehetsang ho ngola ho khutlela ho ea pele, joalo ka numpy array. Bakeng sa li-array slicing, tšehetso e fanoa bakeng sa ho beha le ho khutlisa boleng ka mehato (selae (qala, emisa, mohato)).
  • Hona joale li-arrays li tšehetsa "__reversed__".
  • Li-arrays tsa Java joale li tšehetsa memoryview API 'me li tlosa ho itšetleha ka numpy ho fetisa litaba tsa buffer.
  • Numpy ha e sa le ts'ehetso (e eketsehileng) mme phetisetso ea memori ho numpy e fumaneha ntle le ho bokelloa ka tšehetso ea numpy.
  • JInterface e entsoe e le sehlopha sa meta. Sebelisa isinstance(cls, JInterface) ho sheba lihokelo.
  • E kentse li-TLD tse sieo "mil", "net" le "edu" ho thepa e tsoang kantle ho naha.
  • Melaetsa ea liphoso e ntlafalitsoeng bakeng sa UnsupportedClassVersion nakong ea ho qala.
  • java.util.Map joale e hlahisa KeyError haeba element e sa fumanehe. Litekanyetso tse sa sebetseng li ntse li khutlisa Ha ho joalo ka ha ho lebelletsoe. Sebelisa get() haeba u batla ho tšoara linotlolo tse se nang letho joalo ka None.
  • E tlositsoe java.util.Pokello kaha e jara ka mokhoa o makatsang pakeng tsa ho tlosa(Object) le ho tlosa(int) ho Lists. Sebelisa mokhoa oa Java remove() ho fihlella boits'oaro ba matsoalloa a Java, empa mofuta oa cast o khothaletsoa ka matla bakeng sa taolo e ngata.
  • java.lang.IndexOutOfBoundsException joale e ka ts'oaroa ho sebelisoa sehlopha sa mokhelo sa IndexError ha u kena ho java.util.List elements.

Source: opennet.ru

Eketsa ka tlhaloso