جاوا 8 بمقابلہ جاوا 9۔

Java8 Vs Java9



جاوا 8 بمقابلہ جاوا 9: جاوا 9 میں بہتری جو آپ کو جاننے کی ضرورت ہے۔

بہت سے ڈویلپرز ایپلی کیشنز بنانے کے لیے جاوا کا رخ کریں گے۔ جیسا کہ ہم سب جانتے ہیں ، جاوا ناقابل یقین حد تک ورسٹائل ، استعمال میں آسان ، محفوظ ، قابل اعتماد اور سب سے زیادہ ، یہ پلیٹ فارم سے آزاد ہے۔ جاوا کے عالمی سطح پر 6.5 ملین سے زیادہ ڈویلپرز کی پیروی ہے۔ اس طرح ، یہ استعمال کرنے کے لیے بہترین زبان ہے کیونکہ حوالہ مواد بھی وافر ہے۔

بہر حال ، جاوا نے کئی سالوں میں ترقی اور ترقی جاری رکھی ہے۔ سن مائیکرو سسٹم نے 1995 میں بنایا۔ ، جاوا نے اپنی قابل اعتماد ثابت کرنا جاری رکھا ہے۔ جاوا کی سابقہ ​​تعمیر جو 18 مارچ 2014 سے استعمال میں ہے ، جاوا SE 8 تھی۔ اب بلاک پر ایک نیا بچہ ہے۔ تازہ بنا ہوا جاوا 9 آخر کار یہاں ہے۔ 21 ستمبر 2017 کو منظر عام پر آیا۔ ، جاوا SE 9 سے توقع کی جاتی ہے کہ ہم جس طرح کام کرتے ہیں اور جس طرح ڈویلپرز ایپلی کیشنز بناتے ہیں اس میں ہلچل مچ جائے گی۔







جاوا 8 کی ناقابل یقین چستی اور استعداد کی وجہ سے ، کاروباری اداروں نے صحت کی دیکھ بھال ، فن ٹیک اور دیگر بڑے شعبوں جیسی صنعتوں کے لیے ناقابل یقین حل پیدا کیے۔ دوسری طرف جاوا 9 ، اس پر تعمیر کرنے اور ڈویلپرز کو مکمل طور پر نئی خصوصیات فراہم کرنے کا وعدہ کرتا ہے۔



تو ، آئیے ایک نظر ڈالیں کہ جاوا 9 میں کیا نیا ہے۔



Jigsaw پروجیکٹ

یہ جاوا 9 کی ایک خاص بات ہے۔ بنیادی طور پر ، پروجیکٹ جیگس کو دیا گیا نام ہے۔ ماڈیولرائزیشن جاوا کی. جیسا کہ جیگسا کے ٹکڑے ٹکڑے ٹکڑے ٹکڑے ہو کر ایک بڑی تصویر بناتے ہیں ، اسی طرح جاوا 9 کی ماڈیولریٹی بھی ہوتی ہے۔ یہ ایک بہت بڑا قدم ہے کیونکہ ماڈیولرائزیشن نہ صرف کوڈ کے دوبارہ استعمال کو زیادہ آرام دہ بناتی ہے بلکہ اس کا انتظام اور ڈیبگنگ بھی سیدھا ہے۔ اس کی وجہ سے ، ہم نے پایا ہے کہ ڈویلپرز کو جاوا 9 کے ساتھ ایپلیکیشنز بنانے میں کسی بھی سابقہ ​​بلڈ کے مقابلے میں آسان وقت گزرنے والا ہے۔





ماڈیولرائزیشن کا ایک اور فائدہ یہ ہے کہ ڈویلپر اب ہلکا پھلکا ، توسیع پذیر ایپلی کیشن بنا سکتے ہیں۔ خاص طور پر چیزوں کے انٹرنیٹ کے بڑھنے کے ساتھ ، ہمیں جاوا میں مزید ایسی ایپس ملیں گی۔

جی ای پی 222: jshell : جاوا شیل۔

جاوا 9 میں نیا ریڈ ایول پرنٹ لوپ (REPL) ٹول ہے۔ اس کے ترقیاتی مرحلے میں ہونے کے بعد۔ پروجیکٹ کا حق یہ فیچر بالآخر عوام کے لیے جاری کر دیا گیا ہے۔ یہ نئی خصوصیت ایک انٹرایکٹو ٹول ہے جو جاوا میں لکھے گئے تاثرات ، بیانات اور اعلانات کی جانچ کے لیے استعمال ہوتی ہے۔ جے شیل API اور ٹول کا بنیادی ہدف ڈویلپر کو شیل اسٹیٹ میں مذکورہ بالا خصوصیات کو جانچنے کا موقع دینا ہے۔ یہ بنیادی طور پر تیز کوڈنگ اور تفتیش ہے ، جس کے تحت اظہار اور بیانات کو کسی طریقہ کار اور طریقوں کے اندر ہونے کی ضرورت نہیں ہے ، کسی کلاس کے اندر ہونے کی ضرورت نہیں ہے۔ اس طرح ایک ڈویلپر کوڈ کے ٹکڑوں کا جلدی سے تجزیہ کرسکتا ہے اور دیکھ سکتا ہے کہ آیا وہ مطلوبہ اثر لائیں گے۔



jshell ٹول میں مندرجہ ذیل خصوصیات کے ساتھ کمانڈ لائن انٹرفیس ہوگا۔

  • قابل ترتیب وضاحتی تعریف اور درآمدات۔
  • ترمیم کی صلاحیتوں کے ساتھ ایک تاریخ۔
  • ضروری ٹرمینل سیمیکولنز کا خودکار اضافہ۔

مرتب کرنے والی بہتری۔

ایپلی کیشنز کو تیزی سے چلانے کو یقینی بنانے کے لیے ، جاوا 9 نے ایک نئی ٹیکنالوجی کو اندراج کیا ہے جسے فارورڈ آف ٹائم (AoT) تالیف کہا جاتا ہے۔ یہ ٹیکنالوجی اگرچہ اپنے تجرباتی مراحل میں ہے ، یہ ممکن بناتی ہے کہ ورچوئل مشینوں میں لانچ ہونے سے پہلے ہی جاوا کلاسز کو مقامی کوڈ میں مرتب کیا جائے۔ اس کے امکانات لامتناہی ہیں۔ تاہم ، اس ٹیکنالوجی کا زیادہ فوری استعمال بڑی اور چھوٹی ایپس کے لیے سٹارٹ اپ ٹائم کو بہتر بنا رہا ہے جس کی کارکردگی میں کوئی رکاوٹ نہیں ہے۔

ماضی میں ، جاوا 8 جسٹ ٹائم (جے آئی ٹی) مرتب کرنے والوں کا استعمال کرتا ہے۔ یہ مرتب کرنے والے تیز ہیں لیکن گرم ہونے سے پہلے تھوڑا زیادہ وقت لیں۔ یہ چھوٹے پروگراموں یا ایپس کے لیے ناممکن ہو سکتا ہے کیونکہ مرتب کرنے کے لیے زیادہ کوڈ نہیں ہے۔ تاہم ، بڑی ایپس کے لیے بیانیہ بالکل مختلف ہے۔ وارم اپ صرف ایک وقت میں مرتب کرنے والے کی ضرورت ہے ، اس کا مطلب ہے کہ کچھ طریقے مرتب نہیں کیے گئے ہیں اس طرح ایپ کی کارکردگی کمزور ہوتی ہے۔

سمارٹ تالیف تعیناتی میں دوسرا مرحلہ جاواک ٹول کی نقل و حمل اور استحکام کی بہتری ہے۔ اس ٹول کو بہتر بنانا اسے براہ راست JVM (جاوا ورچوئل مشین) میں بطور ڈیفالٹ سیٹنگ استعمال کرنے کے قابل بناتا ہے۔ اس کے علاوہ ، ٹول کو اس طرح عام کیا گیا ہے کہ ڈویلپرز اسے JDK ماحول سے باہر بھی استعمال کر سکتے ہیں۔ ڈویلپرز کے لیے یہ ایک بڑی بات ہے کیونکہ جاوا کو بڑے پروجیکٹس میں استعمال کیا جا سکتا ہے جسے مطابقت کی فکر کیے بغیر آسانی سے ایڈجسٹ کیا جا سکتا ہے۔ ایک اور اہم اپ ڈیٹ جاواک کمپائلر کی پسماندہ مطابقت ہے جس کا واحد کام جاوا 9 کا استعمال کرتے ہوئے بنائے گئے ایپس اور پروگراموں کو مرتب کرنا ہے جو جاوا کے پرانے ورژن پر بھی چلتا ہے۔

بہتر جاوا اسکرپٹ بیکنگ۔

چونکہ جاوا اسکرپٹ میں تیزی آتی جا رہی ہے اور بہت سے لوگوں کے لیے پسندیدہ بن گیا ہے ، جے ڈی کے 9 نے جاوا اسکرپٹ کو جاوا ایپس میں سرایت کرنا ممکن بنا دیا ہے۔ یہ سب کی مدد سے کیا جاتا ہے۔ گینڈے کا پروجیکٹ۔ جس کا بنیادی مقصد جاوا میں اعلی کارکردگی لیکن ہلکا پھلکا جاوا اسکرپٹ رن ٹائم بنانا تھا۔ یقینا This یہ اس وقت پہنچایا گیا جب انہوں نے JDK ورژن 8 میں جاوا اسکرپٹ انجن فراہم کیا۔ یہ API جو کرتا ہے وہ ہے پروجیکٹ نیشورن کی داخلی عملدرآمد کی کلاسوں پر انحصار کیے بغیر سرور سائیڈ فریم ورک اور آئی ڈی ای کے ذریعہ ECMAScript کوڈ کا تجزیہ چالو کرنا۔

جی 1 بطور کچرا جمع کرنے والا۔

عام عقیدے کے برعکس ، جاوا میں ایک نہیں بلکہ چار کوڑا کرکٹ جمع کرنے والے ہیں۔ یہ ردی کی ٹوکری جمع کرنے والے برابر نہیں بنائے گئے ہیں اور اس طرح غلط کو منتخب کرنے کا مطلب درخواست میں کارکردگی کے مسائل ہیں۔ جاوا 8 میں ، پہلے سے طے شدہ کچرا جمع کرنے والا متوازی / تھروپٹ کلیکٹر تھا۔ اس کوڑا کرکٹ جمع کرنے والے کی جگہ اس کے پیشرو گاربیج فرسٹ کلکٹر (G1) نے لے لی ہے۔ چونکہ جی ون کلیکٹر 4 جی بی سے بڑے ڈھیروں کو موثر انداز میں سپورٹ کرنے کے لیے ڈیزائن کیا گیا تھا ، یہ چھوٹے اور بڑے پیمانے پر دونوں ایپلی کیشنز کے لیے بہترین کچرا جمع کرنے والا ہے۔

API اپ ڈیٹس

جاوا ڈویلپمنٹ کٹ کے اس نئے ورژن میں ، APIs میں کئی اپ ڈیٹس کی گئی ہیں اور ہم سب سے قابل ذکر بات کریں گے۔

سب سے پہلے ایک جاوا 9 کنکرنسی اپ ڈیٹ ہے جس میں Java.util.concurrent.Flow اور CompletableFuture ہے۔ اس مسئلے کو حل کرنا ہے جو بیک پریشر ہے۔ بہاؤ جاوا کا نفاذ ہے۔ ری ایکٹیو اسٹریمز API۔ جس کا بنیادی مقصد بیک پریشر کے مسئلے کو حل کرنا ہے۔ بیک پریشر ڈیٹا کی تعمیر ہے جو اس وقت ہوتی ہے جب آنے والی درخواستوں کی شرح درخواست کی پروسیسنگ کی صلاحیت سے زیادہ ہو۔ طویل عرصے میں ، یہ ایک مسئلہ ہے کیونکہ ایپلی کیشن غیر پروسیسڈ ڈیٹا کے بفر کے ساتھ ختم ہوتی ہے۔ اس اپ ڈیٹ کا مطلب ٹائم آؤٹ ، تاخیر اور سب کلاسنگ کو بہتر طریقے سے سنبھالنا ہوگا۔

سیکیورٹی جاوا کی بنیادی شناخت کا حصہ ہے۔ اس طرح ، نئے منظور شدہ کے لیے معاونت۔ HTTP 2.0 آر ایف سی ایک بہت بڑا پلس ہے۔ HTTP 2.0 RFC اوپر بنایا گیا تھا۔ گوگل کا ایس پی ڈی وائی الگورتھم۔ جس نے پہلے ہی HTTP 1.1 سے 11.81 to سے 47.7 speed تک کی رفتار میں بہتری کے ساتھ پھل دینا شروع کر دیا ہے۔ یہ کلائنٹ API بنیادی HTTP پروٹوکول اور HttpURLConnection API کا اپ گریڈ ہے جو کہ پریشانی کا باعث ہے ، کم از کم یہ کہنا کہ یہ HTTP 1 سے پہلے ہی بنایا گیا تھا۔

کوڈ کیچنگ ہمیشہ ایک ایسی حکمت عملی رہی ہے جو سالوں میں ایپلی کیشنز کو تیز اور ہموار بنانے کے لیے استعمال ہوتی ہے۔ تاہم ، یہ اس کی حدود کے بغیر نہیں ہے ، اور یہ کسی کا دھیان نہیں گیا ہے۔ جاوا 9 میں ایک اپ ڈیٹ واضح طور پر ظاہر کرتا ہے کہ جے ڈی کے 9 کیشڈ کوڈز کو چھوٹے حصوں میں تقسیم کرتا ہے اس طرح مجموعی کارکردگی بہتر ہوتی ہے۔ جے ڈی کے 9 غیر طریقہ کوڈ کو چھوڑنے کے لیے خصوصی تکرار کرنے والوں کا استعمال کرتا ہے۔ پروفائل شدہ ، غیر پروفائل اور غیر طریقہ کوڈ کو الگ کرنا اور عملدرآمد کے وقت کے لیے کچھ معیارات کو بہتر بنانا۔

جاوا 9 کے فوائد

بہت سے کاروباری مالکان کے لیے ، جاوا 8 اور 9 کے درمیان کوئی فرق نہیں ہے ، تاہم ، ڈویلپر کے لیے ، فرق کی دنیا ہے۔ یہ وہ فوائد ہیں جو جاوا SE 9 کے اپنے پیشرووں پر ہیں۔

  • ماڈیولز کے نظام کی بدولت ترقی کی رفتار میں نمایاں اضافہ کیا جائے گا جس کا انتظام اور ڈیبگ کرنا نہ صرف آسان ہے بلکہ دوبارہ استعمال کے قابل بھی ہے اس کا مطلب یہ ہے کہ آپ کو شروع سے پورا کوڈ لکھنے کی ضرورت نہیں ہے۔
  • ماڈیولرائزیشن سے ایپلی کیشنز کے لیے وسائل کی تاثیر کو بڑھانا اور وسائل کھینچنا آسان بنانا کیونکہ ڈویلپرز پورے جے آر ای کے بجائے صرف ضرورت کے ماڈیول لیں گے۔
  • کوڈ کے ٹکڑوں کا ریئل ٹائم تجزیہ جیسے۔ مائیکرو بینچ مارک کوڈ کے چھوٹے ٹکڑوں کی کارکردگی دیکھنے کے لیے استعمال کیا جاتا ہے۔

ذرائع

http://openjdk.java.net/jeps/251۔
https://www.romexsoft.com/blog/java-8-vs-java-9/
https://blogs.oracle.com/java/features-in-java-8-and-9۔
https://dzone.com/articles/5-features-in-java-9-that-will-change-how-you-deve

ایکلیپس جاوا ٹیوٹوریل۔