কম্পিউটার টিউটোরিয়াল

জাভা ৯-এ নতুন ভার্সনিং স্কিম কী?

জাভা ৯ থেকে ভার্সনিং সেম্যান্টিক ভার্সনিং-এর সাথে কনসিস্টেন্ট হতে পারে। ভার্সন নম্বর হতে পারে একটি নন-এম্পটি সিকোয়েন্স অফ স্ট্রিংস যেগুলো ডটস দিয়ে সেপারেটেড। এতে তিনটি মেজর পার্ট রয়েছে: মেজর ভার্সন নম্বর, মাইনর ভার্সন নম্বর, এবং সিকিউরিটি। নতুন ভার্সনিং স্কিম ডকুমেন্টেড আছে Runtime.Version ক্লাসে এবং ভার্সন ইনফরমেশন সেটি থেকে অ্যাক্সেস করা যায়।

ভার্সন নম্বর ফরম্যাট

$MAJOR.$MINOR.$SECURITY(.$otherpart)?
  • $MAJOR হলো মেজর ভার্সন নম্বর এবং যখন একটি মেজর রিলিজ হয়ে যায় যা সাধারণত প্ল্যাটফর্ম স্পেসিফিকেশন পরিবর্তন করে তখন ইনক্রিমেন্ট হয়। JDK 9-এর জন্য এই ভ্যালু ৯।
  • $MINOR হলো মাইনর ভার্সন নম্বর এবং বাগ ফিক্স ও স্ট্যান্ডার্ড API-এ এনহ্যান্সমেন্ট ধারণকারী রিলিজের জন্য ইনক্রিমেন্ট হয়।
  • $SECURITY হলো সিকিউরিটি লেভেল এবং ক্রিটিক্যাল সিকিউরিটি ফিক্স ধারণকারী রিলিজের জন্য ইনক্রিমেন্ট হয়। এই ভার্সন রিসেট হয় না শূন্যে যখন মাইনর ভার্সন নম্বর ইনক্রিমেন্ট হয়।
  • $otherpart এক বা একাধিক ভার্সন ধারণ করে যা JVM প্রোভাইডাররা ব্যবহার করে ছোট সংখ্যক নন-সিকিউরিটি ফিক্সসহ প্যাচ ইন্ডিকেট করতে।

ভার্সন স্ট্রিং হতে পারে ভার্সন নম্বর কিছু অতিরিক্ত ইনফরমেশনসহ যেমন অর্লি-অ্যাক্সেস রিলিজ আইডেন্টিফায়ার বা বিল্ড নম্বর:

$VNUM(-$PRE)?+$BUILD(-$OPT)? $VNUM-$PRE(-$OPT)? $VNUM(+-$OPT)?
  • $PRE হলো প্রি-রিলিজ আইডেন্টিফায়ার।
  • $BUILD হলো বিল্ড নম্বর।
  • $OPT হলো অপশনাল ইনফরমেশন যেমন টাইমস্ট্যাম্প।

উদাহরণ

public class VersionSchemeTest {
    public static void main(String args[]) {
        System.out.println(Runtime.version().toString()); // String representation of the version
        System.out.println(Runtime.version().major());    // major version number
        System.out.println(Runtime.version().minor());    // minor version number
        System.out.println(Runtime.version().security()); // security version number
    }
}

আউটপুট

9.0.4+11
9
0
4
  1. জাভাতে StringIndexOutOfBoundsException কী?

  2. উইন্ডোজ ১০ ভার্সন ২০H২ ফিচার আপডেটে কী নতুন?

  3. Rails 7: রিলিজের আগে মূল ফিচার ও উন্নতি

  4. iOS 13.3 অন্বেষণ: নতুন ফিচার, ফিক্স এবং উন্নতি