Galvenās izmaiņas:
- C++ un Java kodā iekļautie izņēmumi tagad nodrošina izņēmumu kopu, ja Python kodā rodas izņēmums. Tādējādi, lai iegūtu informāciju par izņēmuma steku, vairs nav jāizsauc stacktrace().
- Zvana atgriešanas ātrums ir trīskāršots.
- Ievērojami (pēc lieluma kārtām) palielināts pārraides ātrums
daudzdimensiju masīvu neskaitāmie buferi. Daudzdimensiju primitīvi nodod tikai lasāmas kopijas, kas izveidotas JVM iekšienē ar blakus esošo C izkārtojumu. - Visi atklātie iekšējie elementi ir aizstāti ar CPython implementācijām un simboliem __javaclass__, __javavalue__ un __javaproxy__
dzēsts. Īpašs Java slots ir pievienots visiem CPython tipiem, kas mantoti no jpype klases veidiem. Visas privātās tabulas ir pārvietotas uz CPython. Java tipiem tagad ir jābūt mantotiem no JClass metaklases, kas izmanto tipa slotus. Python bāzes klašu maisījumi nav atļauti. Veidi ir objekts, starpniekserveris, izņēmums, numurs un masīvs, un tie tiek mantoti tieši no CPython iekšējām implementācijām. - Uzlabota izsekošana un izņēmumu apstrāde.
- Masīva šķēles tagad tiek apstrādātas kā skati, kas atbalsta rakstīšanu atpakaļ uz oriģinālu, piemēram, masīvs, kas ir neparasts. Masīva sagriešanai tiek nodrošināts atbalsts vērtību iestatīšanai un izgūšanai pa soļiem (šķēlums (sākums, beigas, solis)).
- Masīvi tagad atbalsta "__reversed__".
- Java masīvi tagad atbalsta memoryview API un noņem atkarību no numpy, lai nodotu bufera saturu.
- Numpy vairs nav atkarība (papildus), un atmiņas pārsūtīšana uz numpy ir pieejama bez kompilēšanas ar numpy atbalstu.
- JInterface ir veidota kā meta klase. Izmantojiet isinstance (cls, JInterface), lai pārbaudītu saskarnes.
- Trūkstošie TLD “mil”, “net” un “edu” pievienoti noklusējuma importēšanai.
- Uzlaboti kļūdu ziņojumi UnsupportedClassVersion startēšanas laikā.
- java.util.Map tagad izdod KeyError, ja elements netiek atrasts. Vērtības, kas ir nulles, joprojām atgriež Nav, kā paredzēts. Izmantojiet get(), ja vēlaties apstrādāt tukšas atslēgas kā Nav.
- Noņemta java.util.Collection, jo tā dīvainā kārtā pārslogojas starp Remove(Object) un Remove(int) sarakstos. Izmantojiet Java remove() metodi, lai piekļūtu Java vietējai darbībai, taču pārslodzes kontrolei ļoti ieteicams izmantot tipa apraidi.
- java.lang.IndexOutOfBoundsException tagad var tikt uztverts, izmantojot IndexError izņēmuma klasi, piekļūstot java.util.List elementiem.
Avots: opennet.ru