Ndryshimet kryesore:
- Përjashtimet e hedhura në kodin C++ dhe Java tani ofrojnë një pirg përjashtimesh kur ndodh një përjashtim në kodin Python. Kështu, për të marrë informacion në lidhje me pirgun e përjashtimit, nuk keni më nevojë të telefononi stacktrace().
- Shpejtësia e kthimit të telefonatës është trefishuar.
- Shpejtësia e transmetimit u rrit ndjeshëm (sipas urdhrave të madhësisë).
bufferat numpy të vargjeve shumëdimensionale. Primitivët shumëdimensionale kalojnë kopje vetëm për lexim të krijuara brenda JVM me një plan urbanistik të ngjitur C. - Të gjitha pjesët e brendshme të ekspozuara janë zëvendësuar me implementime CPython, dhe simbolet __javaclass__, __javavalue__ dhe __javaproxy__
fshihet. Një slot i dedikuar Java është shtuar në të gjitha llojet e CPython që trashëgojnë nga llojet e klasave jpype. Të gjitha tabelat private janë zhvendosur në CPython. Llojet Java tani duhet të trashëgojnë nga metaklasa JClass, e cila përdor lojëra elektronike të tipit. Përzierjet për klasat bazë Python nuk lejohen. Llojet janë Object, Proxy, Exception, Number dhe Array dhe trashëgohen drejtpërdrejt nga implementimet e brendshme të CPython. - Gjurmimi i përmirësuar dhe trajtimi i përjashtimeve.
- Fetë e vargjeve tani përpunohen si pamje që mbështesin shkrimin e kthimit në origjinal, si p.sh. një grup numpy. Për prerjen e grupeve, ofrohet mbështetje për vendosjen dhe marrjen e vlerave në hapa (fetë (fillim, ndalim, hap)).
- Vargjet tani mbështesin "__reversed__".
- Vargjet Java tani mbështesin API-në e memoryview dhe heqin varësinë nga numpy për të kaluar përmbajtjen e buferit.
- Numpy nuk është më një varësi (shtesë) dhe transferimi i kujtesës në numpy është i disponueshëm pa kompilimin me mbështetjen numpy.
- JInterface është projektuar si një klasë meta. Përdorni instancën (cls, JInterface) për të kontrolluar ndërfaqet.
- U shtuan TLD-të që mungojnë "mil", "net" dhe "edu" në importet e paracaktuara.
- Mesazhe gabimi të përmirësuara për UnsupportedClassVersion gjatë nisjes.
- java.util.Map tani hedh një gabim kyç nëse elementi nuk gjendet. Vlerat që janë nule ende nuk kthehen Asnjë siç pritej. Përdorni get() nëse doni të trajtoni çelësat bosh si Asnjë.
- U hoq java.util.Collection pasi çuditërisht mbingarkohet ndërmjet remove(Object) dhe remove(int) në Listat. Përdorni metodën Java remove() për të hyrë në sjelljen vendase të Java, por transmetimi i tipit rekomandohet fuqimisht për kontrollin e mbingarkesës.
- java.lang.IndexOutOfBoundsException tani mund të kapet duke përdorur klasën e përjashtimit IndexError kur aksesoni elementët java.util.List.
Burimi: opennet.ru