إصدار Java SE 19

بعد ستة أشهر من التطوير ، أصدرت Oracle منصة Java SE 19 (Java Platform، Standard Edition 19) ، والتي تستخدم مشروع OpenJDK مفتوح المصدر كتطبيق مرجعي. باستثناء إزالة بعض الميزات المهملة ، يحافظ Java SE 19 على التوافق مع الإصدارات السابقة مع الإصدارات السابقة من نظام Java الأساسي - ستظل معظم مشاريع Java المكتوبة مسبقًا تعمل بدون تعديل عند تشغيلها في الإصدار الجديد. تم إعداد تصميمات Java SE 19 القابلة للتثبيت (JDK و JRE و Server JRE) لأنظمة Linux (x86_64 و AArch64) و Windows (x86_64) و macOS (x86_64، AArch64). تم تطوير تطبيق Java 19 المرجعي بواسطة مشروع OpenJDK ، وهو مفتوح المصدر بالكامل بموجب ترخيص GPLv2 مع استثناءات GNU ClassPath للسماح بالربط الديناميكي بالمنتجات التجارية.

تم تصنيف Java SE 19 كإصدار دعم منتظم ، مع إصدار التحديثات قبل الإصدار التالي. يجب أن يكون فرع الدعم طويل الأجل (LTS) هو Java SE 17 ، والذي سيتلقى التحديثات حتى عام 2029. تذكر أنه بدءًا من إصدار Java 10 ، تحول المشروع إلى عملية تطوير جديدة ، مما يعني دورة أقصر لتشكيل الإصدارات الجديدة. يتم الآن تطوير وظائف جديدة في فرع رئيسي واحد يتم تحديثه باستمرار ، والذي يتضمن التغييرات المكتملة بالفعل والتي تتفرع منها الفروع كل ستة أشهر لتحقيق الاستقرار في الإصدارات الجديدة.

تشمل الميزات الجديدة في Java 19 ما يلي:

  • تم اقتراح دعم أولي لأنماط التسجيل ، مما يوسع قدرة مطابقة نمط Java 16 لتحليل قيم فئات سجل النوع. على سبيل المثال: سجل نقطة (int x، int y) {} void printSum (Object o) {if (o exampleof Point (int x، int y)) {System.out.println (x + y)؛ }}
  • توفر إصدارات Linux الدعم لبنية RISC-V.
  • تمت إضافة دعم أولي لـ FFM (الوظيفة الخارجية والذاكرة) API ، والذي يسمح لك بتنظيم تفاعل برامج Java مع التعليمات البرمجية والبيانات الخارجية من خلال وظائف الاتصال من المكتبات الخارجية والوصول إلى الذاكرة خارج JVM.
  • دعم إضافي للخيوط الافتراضية ، وهي خيوط خفيفة الوزن تسهل إلى حد كبير الكتابة والحفاظ على التطبيقات متعددة الخيوط عالية الأداء.
  • يُقترح التطبيق الأولي الرابع لـ Vector API ، والذي يوفر وظائف لحسابات المتجهات التي يتم إجراؤها باستخدام تعليمات المتجه لمعالجات x86_64 و AArch64 ويسمح لك بتطبيق العمليات في وقت واحد على عدة قيم في وقت واحد (SIMD). على عكس الإمكانات المتوفرة في مترجم HotSpot JIT للتوجيه التلقائي للعمليات العددية ، فإن واجهة برمجة التطبيقات الجديدة تجعل من الممكن التحكم بشكل صريح في التوجيه لمعالجة البيانات المتوازية.
  • تمت إضافة تطبيق تجريبي ثالث لمطابقة الأنماط في تعبيرات التبديل ، والذي يسمح باستخدام قوالب مرنة في تسميات الحالة التي تغطي سلسلة من القيم في وقت واحد ، والتي تم استخدام سلاسل مرهقة من عبارات if ... else من قبل. الكائن o = 123L ؛ تنسيق السلسلة = switch (o) {case Integer i -> String.format ("int٪ d"، i)؛ الحالة Long l -> String.format ("long٪ d"، l) ؛ الحالة Double d -> String.format ("double٪ f"، d) ؛ الحالة String s -> String.format ("String٪ s"، s) ؛ افتراضي -> o.toString () ؛ } ؛
  • تمت إضافة واجهة برمجة تطبيقات توازي هيكلية تجريبية تسهل تطوير تطبيقات متعددة الخيوط من خلال معالجة مهام متعددة تعمل على خيوط مختلفة كوحدة واحدة.

المصدر: opennet.ru

إضافة تعليق