التغييرات الرئيسية:
- توفر الاستثناءات التي تم طرحها في كود C++ وJava الآن مكدس استثناءات عند حدوث استثناء في كود Python. وبالتالي، للحصول على معلومات حول مكدس الاستثناءات، لم تعد بحاجة إلى استدعاء stacktrace().
- تمت مضاعفة سرعة إرجاع المكالمة ثلاث مرات.
- زيادة كبيرة (من حيث الحجم) في سرعة الإرسال
مخازن مؤقتة numpy من صفائف متعددة الأبعاد. تقوم البدائيات متعددة الأبعاد بتمرير نسخ للقراءة فقط تم إنشاؤها داخل JVM بتخطيط C متجاور. - تم استبدال جميع الأجزاء الداخلية المكشوفة بتطبيقات CPython، والرموز __javaclass__ و__javavalue__ و__javaproxy__
تم الحذف. تمت إضافة فتحة Java مخصصة إلى جميع أنواع CPython التي ترث من أنواع فئات jpype. تم نقل كافة الجداول الخاصة إلى CPython. يجب أن ترث أنواع Java الآن من فئة التعريف JClass، التي تستخدم فتحات الكتابة. لا يُسمح باستخدام Mixins لفئات Python الأساسية. الأنواع هي Object وProxy وException وNumber وArray وترث مباشرة من تطبيقات CPython الداخلية. - تحسين التتبع ومعالجة الاستثناءات.
- تتم الآن معالجة شرائح المصفوفة كطرق عرض تدعم إعادة الكتابة إلى الأصل، مثل مصفوفة numpy. بالنسبة لتقطيع المصفوفات، يتم توفير الدعم لإعداد واسترجاع القيم في خطوات (شريحة (بدء، إيقاف، خطوة)).
- تدعم المصفوفات الآن "__reversed__".
- تدعم صفائف Java الآن واجهة برمجة تطبيقات Memoryview وتزيل التبعية على numpy لتمرير محتويات المخزن المؤقت.
- لم يعد Numpy تبعية (إضافية) وأصبح نقل الذاكرة إلى numpy متاحًا دون التحويل البرمجي بدعم numpy.
- تم تصميم JInterface كفئة تعريفية. استخدم isinstance(cls, JInterface) للتحقق من الواجهات.
- تمت إضافة نطاقات TLD المفقودة "mil" و"net" و"edu" إلى الواردات الافتراضية.
- تحسين رسائل الخطأ لـ UnsupportedClassVersion أثناء بدء التشغيل.
- يقوم java.util.Map الآن بطرح خطأ KeyError إذا لم يتم العثور على العنصر. القيم الفارغة لا تزال تُرجع لا شيء كما هو متوقع. استخدم get() إذا كنت تريد التعامل مع المفاتيح الفارغة على أنها لا شيء.
- تمت إزالة java.util.Collection لأنه يزيد التحميل بشكل غريب بين Remove(Object) وremove(int) في القوائم. استخدم طريقة Java Remove() للوصول إلى سلوك Java الأصلي، ولكن يوصى بشدة باستخدام نوع النوع للتحكم في التحميل الزائد.
- يمكن الآن اكتشاف java.lang.IndexOutOfBoundsException باستخدام فئة الاستثناء IndexError عند الوصول إلى عناصر java.util.List.
المصدر: opennet.ru