Útgáfa af JPype 0.7.2, bókasöfnum til að fá aðgang að Java flokkum frá Python

Laus losun millilaga JPype 0.7.2, sem gerir þér kleift að skipuleggja fullan aðgang Python forrita að Java bekkjabókasöfnum. Með JPype frá Python geturðu notað Java-sérstök bókasöfn til að búa til blendingaforrit sem sameina Java og Python kóða. Ólíkt Jython næst samþætting við Java ekki með því að búa til Python afbrigði fyrir JVM, heldur með samskiptum á stigi beggja sýndarvélanna sem nota sameiginlegt minni. Fyrirhuguð nálgun gerir ekki aðeins kleift að ná góðum árangri heldur veitir hún einnig aðgang að öllum CPython og Java bókasöfnum. Verkefnakóði dreift af leyfi samkvæmt Apache 2.0.

Helstu breytingar:

  • Undantekningar í C++ og Java kóða veita nú undantekningarstafla þegar undantekning á sér stað í Python kóða. Þannig að til að fá upplýsingar um undantekningarstaflann þarftu ekki lengur að hringja í stacktrace().
  • Endurhraði símtala hefur verið þrefaldur.
  • Verulega (eftir stærðargráðum) aukinn sendingarhraði inn
    töfrandi biðminni fjölvíddar fylki. Fjölvíddar frumstæður standast skrifvarinn afrit sem eru búin til inni í JVM með samliggjandi C skipulagi.

  • Öllum óvarnum innri hlutum hefur verið skipt út fyrir CPython útfærslur og táknin __javaclass__, __javavalue__ og __javaproxy__
    eytt. Sérstakri Java rauf hefur verið bætt við allar CPython tegundir sem erfa frá jpype flokka gerðum. Öll einkaborð hafa verið færð yfir í CPython. Java gerðir verða nú að erfa frá JClass metaclass, sem notar tegund rifa. Blöndun fyrir Python grunnflokka eru ekki leyfð. Tegundirnar eru Object, Proxy, Exception, Number og Array og erfa beint frá innri útfærslum CPython.

  • Bætt rekja og meðhöndlun undantekninga.
  • Fylkissneiðar eru nú unnar sem skoðanir sem styðja ritun til baka í frumritið, eins og numpy fylki. Fyrir fylkissneiðingu er veittur stuðningur við að stilla og sækja gildi í skrefum (sneið (byrja, stöðva, skref)).
  • Fylki styðja nú "__reversed__".
  • Java fylki styðja nú memoryview API og fjarlægja ósjálfstæði á numpy til að senda biðminni innihald.
  • Numpy er ekki lengur háð (auka) og minnisflutningur til numpy er í boði án þess að setja saman með numpy stuðningi.
  • JInterface er hannað sem meta class. Notaðu isinstance(cls, JInterface) til að athuga með viðmót.
  • Bætt við TLD sem vantar „mil“, „net“ og „edu“ við sjálfgefna innflutning.
  • Bætt villuboð fyrir UnsupportedClassVersion við ræsingu.
  • java.util.Map sendir nú KeyError ef þátturinn finnst ekki. Gildi sem eru núll skila samt Engin eins og búist var við. Notaðu get() ef þú vilt meðhöndla tóma lykla sem Enga.
  • Fjarlægði java.util.Collection þar sem það ofhleðst á undarlegan hátt á milli remove(Object) og remove(int) á Listum. Notaðu Java remove() aðferðina til að fá aðgang að innfæddri Java hegðun, en eindregið er mælt með gerð steypu fyrir yfirálagsstýringu.
  • java.lang.IndexOutOfBoundsException er nú hægt að grípa með því að nota IndexError undantekningarflokkinn þegar opnað er fyrir java.util.List þætti.

Heimild: opennet.ru

Bæta við athugasemd