JavaRush /وبلاگ جاوا /Random-FA /انتشار مکرر نسخه های جدید JDK به چه چیزی منجر می شود؟

انتشار مکرر نسخه های جدید JDK به چه چیزی منجر می شود؟

در گروه منتشر شد
این عصر تغییر برای جاوا است. نسخه‌های JDK اکنون بر اساس یک برنامه زمان‌بندی منتشر می‌شوند و نه زمانی که قابلیت‌های جدید در دسترس هستند. این رویکرد مزایا و معایب خود را دارد، اما چنین تغییراتی چگونه بر JDK 8 تأثیر خواهد گذاشت؟ سایمون ریتر، مبشر معروف جاوا، قهرمان جاوا و معاون مدیر ارشد فناوری Azul Systems، توضیح می دهد که چرا "جاوای جدید طبق برنامه" یک مبادله بین ثبات، امنیت و هزینه است.
انتشار مکرر نسخه های جدید JDK به چه چیزی منجر می شود - 1
در سال 2018، تغییرات قابل توجهی در انتظار دنیای جاوا است. همانطور که سال گذشته اعلام شد، به جای انتشار نسخه‌ها با در دسترس قرار گرفتن قابلیت‌های جدید، به سمت انتشار نسخه‌های JDK بر اساس برنامه زمان‌بندی شده حرکت می‌کنیم. این خبر بسیار خوبی است زیرا اکنون ویژگی‌های جدید در نسخه‌های آماده گنجانده می‌شوند و توسعه‌دهندگان بسیار سریع‌تر به آن‌ها دسترسی خواهند داشت. JDK 10 برای عرضه در ماه مارس برنامه ریزی شده است و ما قبلاً وارد فاز دوم رفع اشکال شده ایم، بنابراین همه چیز طبق برنامه پیش می رود. درخواست مشخصات جاوا (JSR) در حال حاضر در حال توسعه فعال است و برای اظهار نظر عمومی در دسترس است. حتی پیشنهادهای بهبود JDK (JEP) وجود دارد که JDK 11 را هدف قرار داده است . به نظر می رسد جاوا عالی کار می کند.

زمان تغییر می کند

با این حال، بسیاری از تغییرات دیگر در ارتباط با این زمان بندی انتشار وجود دارد که امسال خود را نشان خواهند داد و ممکن است چندان خوشایند نباشند. در طی 22 سال و نیم، ما موفق شده ایم به این واقعیت عادت کنیم که جاوا به عنوان یک پلتفرم دارای سه ویژگی اساسی است که مستقیماً با نحوه پشتیبانی آن مرتبط است.
  1. ثبات . پیش از این، ویژگی‌هایی که با نسخه جدید JDK اضافه شده بودند، اگرچه کاملاً آزمایش شده بودند، نیاز به آزمایش در تولید داشتند. این به شناسایی کاستی هایی که نیاز به اصلاح داشتند کمک کرد. برای اطمینان از اینکه کاربران می‌توانند در حین آزمایش ساخت جدید به کار با ساخت‌های پایدار ادامه دهند، به‌روزرسانی‌ها همیشه تا حدی در زمان همپوشانی داشتند.

    اگر به چند نسخه اخیر که با JDK 6 شروع می شود نگاه کنیم، می بینیم که به روزرسانی های JDK 5 تقریباً 3 سال دیگر (دقیقاً 2 سال و 11 ماه) منتشر می شود. با معرفی JDK 7، به‌روزرسانی‌های عمومی JDK 6 به مدت یک سال و 9 ماه منتشر شد. و به روز رسانی های JDK 7 در عرض 13 ماه پس از انتشار JDK 8 منتشر شد.


  2. ایمنی . تیم‌های توسعه و پشتیبانی OpenJDK، Oracle، و قبل از آنها Sun Microsystems (شرکتی که جاوا را ایجاد کرده است) همیشه امنیت پلتفرم را در اولویت قرار داده‌اند. همانطور که به یاد دارید، جاوا در ابتدا برای دستگاه های تلفن همراه (به ویژه، PDA های Star7) در نظر گرفته شده بود.



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


  3. هزینه صفر یکی از نکات مهم در مورد جاوا این است که همیشه یک پلتفرم رایگان بوده است، حتی قبل از اینکه به عنوان نرم افزار متن باز در سال 2006 منتشر شود. محدودیت‌های خاصی برای استفاده از جاوا بدون حق امتیاز وجود داشت، اما این همیشه برای برنامه‌های تلفن همراه و جاسازی شده اعمال می‌شد؛ برای کلاینت‌های دسکتاپ و سرورهای سازمانی، نسخه فعلی جاوا همیشه رایگان بود. یکی از تغییراتی که قبلاً در JDK در حال انجام است، انتشار فایل های اجرایی OpenJDK تحت مجوز GPLv2 با استثناء «Classpath» است. این مجوز هیچ محدودیتی در مورد نحوه استقرار محیط اجرای Java اعمال نمی کند.

با این حال، تغییرات در روش توسعه و انتشار JDK مستلزم بررسی دقیق برنامه‌های انتقال برنامه‌ها به نسخه‌های جدید جاوا است. با این زمان‌بندی انتشار جدید، تلاش‌ها برای اطمینان از در دسترس بودن به‌روزرسانی‌ها برای چندین نسخه قبلی ممکن است امکان‌پذیر نباشد. اوراکل برای برآوردن نیازهای دو گروه متفاوت از کاربران (کسانی که سریع ویژگی‌های جدید را می‌طلبند و آن‌هایی که به ثبات طولانی‌مدت اهمیت می‌دهند)، تصمیم گرفت به سمت مدل پشتیبانی بلندمدت (LTS) حرکت کند. نسخه های خاص JDK نسخه های LTS در نظر گرفته می شوند، به این معنی که به مدت سه سال به روز رسانی دریافت خواهند کرد. همه نسخه‌های میانی دیگر، نسخه‌های ویژگی نامیده می‌شوند و فقط برای ۶ ماه به‌روزرسانی دریافت می‌کنند. برای هماهنگی با این سیستم جدید، JDK 8 به عنوان نسخه LTS طبقه بندی شد. نسخه بعدی JDK 11 خواهد بود که برای سپتامبر 2018 برنامه ریزی شده است. بزرگترین تغییری که این مدل جدید به ارمغان می آورد این است که به روز رسانی های بین نسخه ها دیگر در زمان همپوشانی ندارند . من به طور خاص آن را با حروف کج درشت قرار دادم زیرا کاملاً واضح بود. در اینجا تصویری وجود دارد که در دسترس بودن به‌روزرسانی‌های نسخه‌های JDK تا JDK 19 را نشان می‌دهد.
انتشار مکرر نسخه های جدید JDK - 2 به چه چیزی منجر می شود؟
در شکل: Java SE Lifecycle – جدول زمانی 5+ سال به روز رسانی های عمومی همپوشانی صفر ("پشتیبانی کلیف") Oracle Commercial Support Oracle Extended Commercial Support
Java SE Lifecycle - به‌روزرسانی‌های عمومی برنامه زمان‌بندی 5+ سال زمان صفر همپوشانی فایل‌های اجرایی عمومی از Oracle (بدون پشتیبانی) Oracle Commercial Support Oracle Extended Commercial Support
در نتیجه مستقیم این تغییرات، پلتفرم جاوا همچنان پایدار، امن و رایگان است، اما اکنون باید دو مورد از این سه ویژگی را انتخاب کنید. در استقرارهای آتی جاوا، هر سه ویژگی به طور همزمان در دسترس نخواهند بود.

بگذارید کمی بیشتر توضیح دهم

فرض کنید نگران امنیت هستید (آنطور که باید باشید)، اما نمی‌خواهید پول خرج کنید. در این صورت باید به محض انتشار نسخه های جدید JDK به آنها مهاجرت کنید. در مواردی که پشتیبانی به موقع با هم تداخل نداشته باشد (نسخه های Feature و LTS)، برای دریافت اصلاحات امنیتی جدید باید این کار را انجام دهید. متأسفانه، بدون همپوشانی زمانی، باید بلافاصله به نسخه‌های JDK بروید که هنوز در مرحله تولید آزمایش نشده‌اند، بنابراین ثبات قبلی را از دست خواهید داد. گزینه دیگر انتخاب پایداری با هزینه صفر است. باز هم، این امکان پذیر است: تنها کاری که باید انجام دهید این است که پس از انتشار نسخه جدید، به استفاده از نسخه قبلی LTS ادامه دهید. شما ثباتی را که با آن آشنا هستید دریافت می کنید، نیازی به پرداخت هیچ هزینه ای ندارید، اما هیچ وصله امنیتی دریافت نخواهید کرد زیرا دیگر برای این نسخه در دسترس نیستند. در نهایت، اگر ثبات و امنیت می خواهید، باید هزینه کنید. می توانید به استفاده از نسخه قبلی LTS ادامه دهید، اما دسترسی به امنیت و رفع اشکال فقط از طریق یک قرارداد پشتیبانی تجاری در دسترس خواهد بود.

و یک بلوک تبلیغاتی کوچک از نویسنده :)

Azul (شرکت من) مجموعه‌ای از فایل‌های اجرایی OpenJDK را با نام تجاری Zulu Enterprise ایجاد کرده است که از منبع ساخته شده است، با معیارهای TCK/JCK آزمایش شده است، و حتی با ابزارهایی که ما توسعه داده‌ایم تجزیه و تحلیل شده است تا اطمینان حاصل شود که کد منبع باز به دلیل فایل‌های هدر خراب وجود ندارد. . ما امکان دانلود رایگان نسخه فعلی و همچنین پشتیبانی تجاری را برای علاقه مندان فراهم می کنیم. ما اخیراً شروع به ارائه مجموعه جدیدی از گزینه های پشتیبانی برای زولو کردیم که هدف آن ارائه حداکثر انعطاف پذیری مشتریان است. ما می‌خواهیم به کاربران امکان مهاجرت به نسخه جدیدی از JDK را بدهیم که مطابق با نیازهای تجاری و مشتری باشد. برای این، ما سه گزینه پشتیبانی ارائه می دهیم:
  1. پشتیبانی کوتاه مدت (STS). STS سریع ترین دسترسی را به ویژگی های جدید جاوا به کاربران می دهد، با پشتیبانی کافی برای انتقال آرام به نسخه های جدیدتر JDK. Zulu Enterprise نسخه‌های STS را با دسترسی به رفع اشکال، به‌روزرسانی‌های امنیتی و سایر رفع‌های مورد نیاز ("پشتیبانی تولید") به مدت 12 ماه، به علاوه 6 ماه پشتیبانی اضافی متمرکز بر پشتیبانی مشاوره و کمک به کاربران برای مهاجرت به نسخه جدیدتر JDK ارائه می‌کند. ("پشتیبانی گسترده"). این معادل یک چرخه زندگی 18 ماهه است.

  2. پشتیبانی میان مدت (MTS). نسخه‌های MTS به شما این امکان را می‌دهد که از ویژگی‌های جدید موجود در نسخه‌های ویژگی در حال تولید بدون نیاز به منتظر ماندن برای نسخه جدید LTS استفاده کنید. Azul یک نسخه MTS در سال بین انتشار LTS برنامه ریزی می کند و پشتیبانی تولید را برای 18 ماه پس از تاریخ انتشار LTS در دسترس عمومی بعدی ارائه می دهد. این امر همپوشانی زمانی و یک انتقال "هموار" را در طول استقرار تولید تضمین می کند. پس از پایان پشتیبانی تولید، 12 ماه دیگر پشتیبانی طولانی ارائه می شود.

  3. پشتیبانی طولانی مدت (LTS). این برای نسخه هایی ارائه شده است که توسط جامعه OpenJDK LTS در نظر گرفته می شود و 8 سال پشتیبانی تولید را با دو سال پشتیبانی بیشتر ارائه می دهد.
در اینجا یک نقاشی دیگر برای روشن تر شدن آن وجود دارد.
انتشار مکرر نسخه های جدید JDK - 3 به چه چیزی منجر می شود؟
در شکل: Java SE Lifecycle – جدول زمانی 5+ سال Oracle باینری های در دسترس عموم (پشتیبانی نشده) Oracle Commercial Support Oracle Commercial Support Extended Commercial Support Azul Zulu Production Commercial Support پشتیبانی تجاری (غیر فعال) Azul Zulu Extended
Java SE Lifecycle - برنامه های اجرایی 5+ ساله از Oracle (بدون پشتیبانی) Oracle Commercial Support Oracle Commercial Support پشتیبانی تجاری توسعه یافته پشتیبانی تولید تجاری از Azul Zulu پشتیبانی تجاری توسعه یافته (غیرفعال) از Azul Zulu
اگر در حال حاضر از JDK 8 بدون قرارداد پشتیبانی تجاری استفاده می‌کنید و سیستم خود را از طریق به‌روزرسانی‌های عمومی پایدار و ایمن نگه می‌دارید، ممکن است بخواهید به این فکر کنید که از ماه سپتامبر چه کاری انجام خواهید داد. آزول متعهد است در این زمینه به شما کمک کند، بنابراین در صورت نیاز به پشتیبانی با ما تماس بگیرید.

نتیجه گیری

چندین جنبه از پلتفرم جاوا امسال در حال تغییر است که بیشتر آنها برای بهتر شدن. دسترسی سریع‌تر به ویژگی‌های جدید، انتشار باز ابزارهایی مانند Flight Recorder و Mission Control، انتشار فایل‌های اجرایی OpenJDK تحت مجوز GPLv2 با استثنای «Classpath». با این حال، حقیقت غم انگیز این است که پشتیبانی رایگان سخاوتمندانه معمول برای پلتفرم جاوا در حال تبدیل شدن به چیزی از گذشته است. جاوا هنوز پایدار، امن و رایگان است. کدام دو از این سه ویژگی برای شما و کاربرانتان مهم‌تر است؟
انتشار مکرر نسخه های جدید JDK - 4 به چه چیزی منجر می شود؟

درباره نویسنده

سیمون ریتر معاون مدیر فنی آزول سیستمز است. سایمون از سال 1984 وارد تجارت فناوری اطلاعات شده است و دارای مدرک لیسانس فیزیک از دانشگاه برونل انگلستان است.

Simon در سال 1996 به Sun Microsystems پیوست و مدتی را در توسعه جاوا و مشاوره گذراند. از سال 1999، او فناوری‌های جاوا را با تمرکز بر پلتفرم اصلی جاوا و کلاینت و برنامه‌های جاسازی شده به توسعه دهندگان نشان داده است. اکنون در Azul Systems، او همچنان به مردم کمک می کند تا جاوا و محصولات JVM Azul را بهتر درک کنند. می‌توانید او را در توییتر دنبال کنید: @speakjava .

نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION