Galahad، پروژه جدید OpenJDK برای ادغام بیلد بومی GraalVM

OpenJDK رونمایی شد خبری که در آن او ایجاد یک پروژه جدید را پیشنهاد می کند که نامش را دارد "Galahad" برای ادغام بخشی از کد GraalVM در نظر گرفته شده است نسخه اجتماعی en کیت توسعه از جاوا

این تیم اعلام کرد هدف اولیه پروژه گالاهاد ارائه آخرین نسخه کامپایلر JIT است از GraalVM و آن را به عنوان جایگزینی برای کامپایلر ماشین مجازی HotSpot موجود JIT ادغام کنید. این آخرین پیشرفت در تلاش طولانی مدت برای ارائه توانایی کامپایل برنامه های جاوا به کد ماشین قبل از اجرای برنامه است.

GraalVM یک ماشین مجازی جاوا (JVM) است. و یک کیت توسعه جاوا (JDK) ایجاد شده توسط اوراکل. است یک محیط زمان اجرا با کارایی بالا این به بهبود عملکرد و کارایی برنامه ها کمک می کند.

اهداف آن عبارتند از: نوشتن یک کامپایلر سریعتر و قابل نگهداری تر، بهبود عملکرد زبان های در حال اجرا در JVM، کاهش زمان راه اندازی برنامه، ادغام پشتیبانی چند زبانه در اکوسیستم جاوا، و همچنین ارائه مجموعه ای از ابزارهای برنامه نویسی برای انجام آن GraalVM یک کامپایلر بهینه سازی اضافه می کند. به JDK.

این کار عملکرد زبان های مختلف را بهینه می کندs و قابلیت همکاری برنامه های کاربردی چند زبانه را تضمین می کند. GraalVM علاوه بر پشتیبانی از کد جاوا، از زبان های برنامه نویسی دیگر مانند Scala، Kotlin، Groovy، Clojure، R، Python، JavaScript و Ruby نیز پشتیبانی می کند.

اساساً به توسعه دهندگان این امکان را می دهد که به طور مؤثر کد را در چندین زبان و کتابخانه در یک برنامه واحد اجرا کنند. پروژه OpenJDK اکنون می‌خواهد از این ویژگی‌ها استفاده کند و اخیراً نقشه‌ای را اعلام کرده است که به آن اجازه می‌دهد از GraalVM پشتیبانی کند.

پشتیبانی از GraalVM در درجه اول برای ارائه در نظر گرفته شده است کاربران OpenJDK این توانایی را دارند برنامه های جاوا را قبل از اجرای برنامه در کد ماشین کامپایل کنید. در نگاه اول، این تا حدودی عجیب به نظر می رسد.

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

این محیط زمان اجرا به تکنیک های اجرای پویا مانند بارگذاری کلاس و بازتاب اجازه می دهد که هیچ آنالوگ واقعی در زبان های کامپایل شده با AOT ندارند. در واقع، این نقطه شروع همه چیزهایی است که جاوا را بسیار قدرتمند می کند و چیزی که آن را در زمانی که حدود 25 سال پیش وارد صحنه نرم افزار شد، انقلابی کرد. با وجود این، همیشه علاقه به توانایی کامپایل برنامه های جاوا به طور مستقیم در کد ماشین و اجرای آنها به طور مستقل بدون JVM وجود داشته است.

دلایل مختلفی برای این تمایل وجود دارد: کاهش زمان گرم کردن برنامه های جاوا برای رسیدن به حداکثر کارایی خود، کاهش حافظه مورد نیاز برنامه های جاوا، یا صرفاً تمایل عمومی به اجتناب از استفاده از منابع برای زیرسیستم ها تا زمان اجرا. برنامه ممکن است نیاز نداشته باشد. چندین پروژه برای تحقق این امکان تلاش کرده اند. جدیدترین و مسلماً موفق ترین پروژه تا به امروز، پروژه GraalVM است. این پروژه از OpenJDK نیست، بلکه از یک پروژه تحقیقاتی Oracle Labs است. اولین نسخه تولیدی، GraalVM 19.0، در می 2019 وارد شد.

از آن زمان، GraalVM به عنوان یک پروژه مستقل با چرخه انتشار متفاوت و تعامل محدود با OpenJDK عمل کرده است.

در حال حاضر، Galahad روی کمک به آخرین نسخه کامپایلر GraalVM JIT و ادغام آن به عنوان جایگزینی برای کامپایلر C2 متمرکز شده است. فناوری ساخت AOT بعداً اضافه خواهد شد لازم است تا کامپایلر Graal JIT در راه اندازی JVM فوراً در دسترس باشد. لازم به ذکر است که پایه کد کامل GraalVM تایید نخواهد شد، فقط اجزای اصلی JIT و AOT و همچنین ابزار Native Image تایید می شوند. توابع اختصاصی Oracle موجود در GraalVM Enterprise Editton نباید به پروژه اختصاص داده شوند.

بالاخره اگر هستی علاقه مند به دانستن بیشتر در مورد آن است، می توانید جزئیات را بررسی کنید در لینک زیر.


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

اولین کسی باشید که نظر

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.