جاوا ۱۵

جاوا ۱۵

چه چیزهای جدیدی در جاوا 15 وجود دارد؟

در این مقاله ، موارد اضافه شده و حذف شده در Java 15 را بررسی خواهیم کرد.

JDK 15 همان اجرای مرجع متن باز نسخه 15 Java SE Platform است که توسط JSR 390 در فرآیند Java Community مشخص شده است.
JDK 15 در 15 سپتامبر 2020 به دسترس عمومی رسید. باینری های آماده تولید تحت GPL از Oracle در دسترس هستند. باینری از سایر فروشندگان به زودی دنبال خواهد شد.
ویژگی ها و زمان بندی این نسخه ، با اصلاح شده توسط پیشنهاد JEP 2.0 ، از طریق فرایند JEP پیشنهاد و پیگیری شد. نسخه با استفاده از فرآیند انتشار JDK (JEP 3) تولید شد.

حذفیات

پورت های Solaris و SPARC
کد و پشتیبانی ساخت پورت های Solaris / SPARC ، Solaris / x64 و Linux / SPARC حذف شدند. این پورتها برای حذف در JDK 14 با هدف صریح حذف آنها در نسخه بعدی منسوخ شدند.

موتور جاوا اسکریپت Nashorn
موتور اسکریپت جاوا اسکریپت Nashorn و API ها و ابزار jjs حذف شدند. موتور ، API ها و ابزار برای حذف در جاوا 11 با هدف صریح حذف آنها در نسخه بعدی منسوخ شد.

فعال سازی RMI
مکانیسم فعال سازی RMI منسوخ شده است. RMI فعال سازی بخشی منسوخ شده از RMI است که از زمان جاوا 8 اختیاری است. هیچ بخش دیگری از RMI منسوخ نمی شود.

جدید؟

NullPointerException های مفید
قابلیت استفاده از NullPointerException بهبود یافته است. پیام های تولید شده توسط JVM دقیقاً توصیف می کنند کدام متغیر null است.

قبل از جاوا 15

در جاوا 15

بلوک متن

بلوک متنی یک رشته تحت اللفظی چند خطی است که از نیاز به بیشتر توالی های فرار جلوگیری می کند ، به صورت خودکار رشته را به روشی قابل پیش بینی قالب بندی می کند و در صورت دلخواه کنترل کننده قالب را به توسعه دهنده می دهد.

قبل از جاوا 15

در جاوا 15

بهبودهای JVM

جمع آوری زباله ZGC

Z Garbage Collector (ZGC) یک جمع کننده زباله با تأخیر کم است. ZGC تمام کارهای پرهزینه را همزمان انجام می دهد ، بدون اینکه جلوی اجرای برنامه ها را برای بیش از 10 میلی متر متوقف کند ، و این کار را برای برنامه هایی که به تأخیر کم نیاز دارند و یا از انبوه بسیار بزرگ (چند ترابایت) استفاده می کنند ، مناسب می کند.
در یک نگاه ، ZGC عبارت است از:

  • هم زمان
  • منطقه محور
  • فشرده سازی
  • NUMA-aware
  • استفاده از اشاره گرهای رنگی
  • استفاده از موانع بار

در هسته اصلی خود ، ZGC یک جمع کننده زباله همزمان است ، به این معنی که تمام کارهای برداشتن سنگین در حالی که رشته های جاوا ادامه دارند انجام می شود. این تاثیری که جمع آوری زباله در زمان پاسخ برنامه شما ایجاد می کند بسیار محدود می شود.
از جاوا 15 شروع می شود و GC آماده تولید است.

کلاسهای پنهان

کلاسهایی که بطور مستقیم توسط بایت کد سایر کلاسها قابل استفاده نیستند. کلاسهای پنهان برای استفاده در چارچوبهایی در نظر گرفته شده اند که کلاسهایی را در زمان اجرا تولید می کنند و از طریق بازتاب از آنها به طور غیر مستقیم استفاده می کنند. یک کلاس پنهان ممکن است به عنوان عضوی از لانه کنترل دسترسی تعریف شود و ممکن است به طور مستقل از کلاس های دیگر بارگیری شود.

EdDSA

EdDSA یک طرح امضای منحنی بیضوی مدرن است که مزایای زیادی نسبت به طرح های امضای موجود در JDK دارد.

DatagramSocket API

جایگزینی برای پیاده سازی های اساسی java.net. DatagramSocket و java.net. MulticastSocket API ها با پیاده سازی های ساده تر و مدرن تر که نگهداری و اشکال زدایی آنها آسان است. پیاده سازی های جدید به راحتی برای کار با رشته های مجازی سازگار هستند و در حال حاضر در Project Loom مورد بررسی قرار گرفته اند.

ویژگی های پیش نمایش

ویژگی پیش نمایش ویژگی جدیدی است که طراحی ، مشخصات و پیاده سازی آن کامل است اما دائمی نیست ، به این معنی که این ویژگی ممکن است به شکل دیگری وجود داشته باشد یا در نسخه های بعدی JDK اصلاً وجود نداشته باشد.

تطبیق الگو

تطبیق الگو شامل آزمایش اینکه آیا یک شی ساختار خاصی دارد یا خیر ، در صورت وجود تطابق داده ها را از آن شی استخراج می کند. از قبل می توانید این کار را با جاوا انجام دهید. با این حال ، تطبیق الگو پیشرفت های جدیدی را در زبان ارائه می دهد که به شما امکان می دهد به طور مشروط داده هایی را از اشیا with با کد خلاصه و قوی تر استخراج کنید.
به طور خاص ، JDK 15 عملگر نمونه را گسترش می دهد: شما می توانید یک متغیر اتصال را مشخص کنید. اگر نتیجه عملگر مثال درست باشد ، شی object مورد آزمایش به متغیر صحافی اختصاص داده می شود.

سوابق

کلاسهای ضبط به عنوان یک ویژگی پیش نمایش در Java SE 14 معرفی می شوند ، به مدل سازی داده های ساده داده با تشریفات کمتر از کلاسهای معمولی کمک می کنند. Java SE 15 ویژگی پیش نمایش را با قابلیت های اضافی مانند کلاس های ضبط محلی گسترش می دهد.
یک کلاس record توالی ای از فیلدها را اعلام می کند و سپس متد های دسترسی مناسب ، سازنده ها ، برابر ، hashCode و toString به طور خودکار ایجاد می شوند. قسمتها نهایی هستند زیرا کلاس در نظر گرفته شده است تا به عنوان یک “حامل داده” ساده عمل کند. این بدان معنی است که سوابق غیرقابل تغییر هستند.

کلاسهای مهر و موم شده (Sealed)

کلاسها و رابط های مهر و موم شده کلاسهای دیگر رابطی را ممکن است گسترش دهند یا آنها را پیاده سازی کنند.
یکی از اهداف اصلی وراثت استفاده مجدد از کد است: وقتی می خواهید یک کلاس جدید ایجاد کنید و قبلاً یک کلاس وجود دارد که برخی از کدهای مورد نظر شما را شامل می شود ، می توانید کلاس جدید خود را از کلاس موجود استخراج کنید. با این کار می توانید از زمینه ها و روش های کلاس موجود بدون نیاز به نوشتن (و اشکال زدایی) آنها استفاده مجدد کنید.

قبل از کلاسهای sealed

با کلاسهای Sealed

نتیجه گیری

در این مقاله ، موارد اضافه شده و حذف شده در جاوا 15 را بررسی کرده ایم و اینکه چگونه همه تغییراتی که با جاوا 15 ارائه شده اند می توانند پروژه های موجود شما را بهبود بخشند.

منبع : medium

بدون نظر

**پرسش و پاسخ** سوال خود مطرح کنید.
امتیاز شما*