state API جاوا راه اندازی اپلیکیشن ها را سریع تر می کند
دوشنبه 11 مرداد 1400state API جاوا می تواند تاثیر زیادی روی سرعت راه اندازی اپلیکیشن های جاوا داشته باشد، در این مطلب کمی بیشتر درباره state API جاوا صحبت خواهیم کرد.
تحت برنامه پیشنهادی که توسط جامعه OpenJDK ارائه شده است برای افزایش سرعت راه اندازی برنامه ها و اپلیکیشن ها می توان از state API جاوا استفاده کرد. طبق برنامه پیشنهادی که توسط Anton Kozlov مهندس نرم افزار ارشد در تیم ارائه دهنده زبان برنامه نویسی جاوا Azul ارائه شده است و در گروه OpenJDK نیز بحث های زیادی روی آن صورت گرفته پروژه CRaC تحقیقاتی را روی یک API جاوا انجام داده است که هماهنگی های میان اپلیکیشن های نوشته شده به زبان برنامه نویسی جاوا و زمان اجرای اپلیکیشن ها را انجام می دهد و می تواند سرعت راه اندازی اپلیکیشن ها را افزایش دهد. بر اساس این طرح زمان اجرای اپلیکیشن های جاوا از چندین روش برای ذخیره سازی وضعیت اپلیکیشن پشتیبانی می کند:
اسنپ شات ماشین مجازی، اسنپ شات container ، CRIU روی لینوکس و بسیاری از روش های دیگر.
در ادامه قصد داریم کمی بیشتر درباره state API جاوا صحبت کنیم و اطلاعاتی را در این خصوص در اختیار شما قرار دهیم.
آشنایی با state API جاوا
بر اساس طرحی که درباره state API جاوا ارائه شده است اپلیکیشن های نوشته شده به زبان برنامه نویسی جاوا می توانند از راه اندازی طولانی جلوگیری کرده و به میزان زیادی در مدت زمان اجرای اپلیکیشن ها صرفه جویی کنند. وضعیت های ذخیره شده می تواند به اپلیکیشن ها کمک کند تا سریع تر راه اندازی شوند. بعد از آن که وضعیت اپلیکیشن ذخیره شد محیط اجرا می تواند عوض شود. علاوه بر این اگر چندین شی مختلف با استفاده از وضعیت ذخیره شده کار خود را آغاز کنند باید برخی از علائم برای منحصر به فرد کردن خود را به دست بیاورند تا نحوه اجرای آنها متفاوت شود.
روش عملی برای حل مشکلات راه اندازی اپلیکیشن های جاوا
در این طرح یه روش کاملا عملی آمده است که به زبان برنامه نویسی جاوا کمک می کند تا متوجه شود چه زمانی باید وضعیت ها را ذخیره کرده و چه زمانی باید آنها را بازیابی کند. بعد از انجام این کار اپلیکیشن می تواند تغییرات مربوط به محیط برنامه نویسی را انجام دهد. علاوه بر این اپلیکیشن قادر خواهد بود تا ویژگی ها و علائم منحصر به فرد را به صورت مستقیم از محیط برنامه دریافت کند.
بر اساس این طرح یک API پیاده سازی می شود که به آن state API جاوا گفته می شود و این API به صورت عمومی برای تمامی مکانیزم ها کار می کند. همچنین وضعیت امنیت این API و زمان اجرای آن نیز مورد بررسی قرار می گیرد تا اطمینان حاصل شود که می تواند در زمان راه اندازی اپلیکیشن های نوشته شده به زبان برنامه نویسی جاوا صرفه جویی کند.
انتظارات از state API جاوا
انتظار می رود که این API تحت پروسه JEP(JDK Enhancement Proposal) توسعه پیدا کرده و مطابق با استانداردهای زبان برنامه نویسی جاوا پیاده سازی شود. با این حال هنوز نسخه مشخصی از زبان برنامه نویسی جاوا به عنوان هدف اولیه این API در نظر گرفته نشده است. مجموعه ویژگی های نسخه آینده جاوا یعنی JDK 17 که قرار است در ماه سپتامبر ارائه شود در حال حاضر برای این API در نظر گرفته شده است.
در یکی از نظراتی که در خصوص این طرح وجود داشت پیشنهاد شده بود که می توان آن را با یک طرح دیگر مانند Red Hat همگام سازی کرد. علاوه بر این طرح های مشابه دیگری نیز ارائه شده است که هنوز مشخص نیست کدام یک از آنها عملی شود.
تصویب و ارائه این API
برای تصویب و ارائه state API جاوا بسیاری از متخصصان پیشنهاد داده اند که ابتدا نسخه ای از این API از طریق کتابخانه org.crac در دسترس قرار گیرد. این کتابخانه امکان استفاده از CRaC API پیش از قرارگیری آن در خط اصلی JDK را فراهم می کند. زمانی که آن را روی نسخه JDK اجرا می کنید از CRaC یا API پشتیبانی نمی کند. لایه org.crac API می تواند به عنوان یک لایه no-op عمل کند که مفید نیست اما زمانی که روی JDK اجرا می شود قابلیت های CRaC زیادی را اضافه می کند. این مسئله نیز باعث می شود تا API های موجود در org.crac سازگارتر شوند. بنابراین API را می توان برای استفاده در دسترس قرار داد بدون این که نیازی به تغییر آنها باشد.
صحبت پایانی
State API جاوا می تواند به میزان زیادی روی سرعت راه اندازی اپلیکیشن هایی که با استفاده از این زبان برنامه نویسی نوشته شده اند تاثیرگذار باشد. با این حال باید منتظر بود تا ببینیم آیا ویژگی های جدیدی نیز به state API جاوا اضافه خواهد شد یا خیر؟
- Java
- 1k بازدید
- 1 تشکر