Utgivningen av JPype 0.7.2, ett bibliotek för att fÄ tillgÄng till Java-klasser frÄn Python

TillgÀnglig utgÄvan av lagret JPype 0.7.2, som möjliggör full Ätkomst för Python-applikationer till Java-bibliotek. Med JPype kan Python anvÀnda specifika Java-bibliotek, vilket skapar hybridapplikationer som kombinerar kod i Java och Python. Till skillnad frÄn Jython uppnÄs integrationen med Java inte genom att skapa en variant av Python för JVM, utan genom interaktion pÄ nivÄn av bÄda virtuella maskiner, med anvÀndning av delad minne. Den föreslagna metoden gör det möjligt att uppnÄ hög prestanda samt ger tillgÄng till alla bibliotek i CPython och Java. Projektkoden sprids Àr licensierad under Apache 2.0.

Huvudsakliga förÀndringar:

  • Undantag som kastas i C++ och Java-kod tillhandahĂ„ller nu en undantagsstack nĂ€r ett undantag intrĂ€ffar i Python-koden. DĂ€rför behöver man inte lĂ€ngre anropa stacktrace() för att fĂ„ information om undantagsstacken.
  • ÅtergĂ„ngshastigheten har tredubblats vid anrop.
  • Överföringshastigheten till
    numpy-buffertar för flerdimensionella arrayer har ökat avsevÀrt (med flera ordningar). Flerdimensionella primitiva datatyper överför enbart skrivskyddade kopior som skapats inuti JVM med kontinuerlig C-layout.
  • Alla interna komponenter har ersatts med implementationer frĂ„n CPython, och symbolerna __javaclass__, __javavalue__ och __javaproxy__
    har tagits bort. Alla CPython-arvstyper frÄn jpype-klasser har fÄtt en dedikerad Java-slot. Alla privata tabeller har flyttats till CPython. Java-typer mÄste nu Àrvas frÄn metaklassen JClass, som anvÀnder typ-slot. Mixin för grundlÀggande Python-klasser Àr inte tillÄtet. Typer som Object, Proxy, Exception, Number och Array Àrver direkt frÄn de interna implementationerna av CPython.
  • SpĂ„rning och hantering av undantag har förbĂ€ttrats.
  • Arrayskivor (Array slices) behandlas nu som vyer som stöder Ă„terkoppling till originalet, som numpy-arrayen. För arrayskivor har stöd för att stĂ€lla in och hĂ€mta vĂ€rden med steg (slice(start, stop, step)) lagts till.
  • Stödet för "__reversed__" har implementerats i arrayer.
  • I Java-arrayer har stöd för API:t memoryview lagts till, och beroendet av numpy för överföring av buffertinnehĂ„llet har tagits bort.
  • Numpy Ă€r nu ingen beroende (extra) och minnesöverföring till numpy Ă€r tillgĂ€nglig utan att kompilera med numpy-stöd.
  • JInterface Ă€r utformad som en metaklass. AnvĂ€nd isinstance(cls, JInterface) för att kontrollera grĂ€nssnitt.
  • Bristande TLD "mil", "net" och "edu" har lagts till i standardimporterna.
  • Vid start har felmeddelandena för UnsupportedClassVersion förbĂ€ttrats.
  • java.util.Map ger nu KeyError om elementet inte hittas. VĂ€rden som Ă€r null returnerar fortfarande None som förvĂ€ntat. AnvĂ€nd get() om tomma nycklar behöver hanteras som None.
  • java.util.Collection har tagits bort eftersom den överlagras underligt mellan remove(Object) och remove(int) i Listor. AnvĂ€nd Java-metoden remove() för att fĂ„ Ă„tkomst till det ursprungliga Java-beteendet, men typkonvertering rekommenderas starkt för att hantera överlagringen.
  • java.lang.IndexOutOfBoundsException kan nu fĂ„ngas med hjĂ€lp av klassen för undantag IndexError nĂ€r man fĂ„r Ă„tkomst till element i java.util.List.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster