সাধারণত, প্রোগ্রামারটিতে জিনিসগুলি সহজ করার জন্য বেশ কয়েকটি বিস্তৃত পরিবর্তন রয়েছে। আপনার ব্যবস্থাপক এ জাতীয় বিষয়গুলির জন্য খুব বেশি যত্ন নিতে পারেন না, তবে প্রোগ্রামার তৈরি করে বয়লারপ্লেট কোড সম্পর্কে চিন্তা করতে কম সময় ব্যয় করে এবং এভাবে তারা কী বাস্তবায়ন করছে, তার দক্ষতা বাড়াতে হবে, বাগগুলি হ্রাস করা উচিত, এর আসল লক্ষ্য সম্পর্কে চিন্তা করার জন্য আরও বেশি সময় থাকতে পারে, যা খুব শক্তিশালী যুক্তি হতে পারে। ওরাকলের পরিবর্তনের একটি মোটামুটি বিস্তৃত তালিকা রয়েছে তবে এটি বরং দীর্ঘতর, তাই আমি যতটা সম্ভব সংক্ষিপ্তসার করব।
ভাষার বৈশিষ্ট্যগুলির মধ্যে রয়েছে:
- জেনারিক্সে কম বয়লারপ্লেট। কোডটি
Map<String, String> myMap = new HashMap<String, String>();
কমিয়ে আনা যায় Map<String, String> myMap = new HashMap<>()
। সংকলকটি বাম থেকে ডানদিকে প্রয়োজনীয় জেনেরিক প্রকারগুলি নির্ধারণ করতে পারে, তাই আপনার কোডটি আরও ছোট এবং দ্রুত পড়তে পারে।
- স্ট্রিংগুলি
.equals()
পরিবর্তিত পদ্ধতির শব্দার্থক ব্যবহার করে এখন স্যুইচ স্টেটমেন্টে কাজ করে ==
।
- চেষ্টা-সহ-সংস্থানগুলি ব্যবহার করে স্বয়ংক্রিয় সংস্থান পরিচালনা। এটি কোড ক্লিনার করে তোলে, তবে পুরানো শৈলীর চেষ্টা / শেষ অবধি-ভিত্তিক কোডেরও সুবিধা রয়েছে। যদি চেষ্টা ব্যতীত কোনও ব্যতিক্রম ছুঁড়ে দেওয়া হয়, এবং বন্ধ করার সময় অন্যটি নিক্ষেপ করা হয়, codeতিহ্যগত চেষ্টা / শেষ অবধি বিবৃতিগুলি ব্যবহার করে এমন কোড সম্পূর্ণরূপে আসল ব্যতিক্রমটি হারাবে, এবং কেবল শেষ অবধিটিতে ফেলে দেওয়া একটিটিকেই পাস করবে। একটি রিসোর্স-উইথ রিসোর্স বিবৃতিতে, রানটাইমটি ব্যতিক্রমটিকে দমন করবে যে বন্ধ () কলগুলি ছুড়েছিল এবং মূল ব্যতিক্রমটিকে স্ট্যাকের উপর দিয়ে বুদবুদ করবে, এই ধারণার অধীনে যে এই আসল ব্যতিক্রমই প্রথমটিতে সমস্ত সমস্যা সৃষ্টি করেছিল জায়গা। উপরন্তু, পরিবর্তে আবর্জনা সংগ্রাহক অন্যান্য ব্যতিক্রম পরিত্যাগ, এই দমন ক্লোজ-নিক্ষিপ্ত ব্যতিক্রম ব্যবহার উদ্ধার করা সম্ভব হবে
Throwable.getSuppressed
।
- সংখ্যাগত আক্ষরিক পড়তে সহজ করা যেতে পারে। সমস্ত সংখ্যার লিখিত অক্ষরগুলি আন্ডারস্কোরগুলিকে অনুমতি দেয় , সুতরাং এর মতো জিনিসগুলি
int n = 1000000000
আরও বেশি পাঠযোগ্য হিসাবে তৈরি করা যায় int n = 1_000_000_000
, যা এক বিলিয়ন হিসাবে পার্স করা আরও সহজ এবং লক্ষ্য না করে ভুলভাবে টাইপ করা আরও শক্ত। এছাড়াও, বাইনারি আক্ষরিক আকারে অনুমতি দেওয়া হয়েছে 0b10110101
, এমন কোড তৈরি করে যা বিট-ফিল্ডগুলির সাথে পড়তে একটু ভাল লাগে।
- একাধিক ব্যতিক্রম প্রকারের হ্যান্ডলিং একই ক্যাপ স্টেটমেন্টটি সম্পন্ন করা যায়, সদৃশ কোড হ্রাস করা এবং সম্ভাব্যত পরে এটিকে চুল্লী করা সহজ করে তোলে।
এই পরিবর্তনের প্রত্যেকটি হ'ল এমন কিছু যা আপনার ম্যানেজার হয়ত সরাসরি যত্ন না করে তবে এগুলি যথাসাধ্য চেষ্টা এবং চিন্তাভাবনা না করে সঠিক কোডটি লেখার জন্য কিছুটা সহজ করে তোলে, আপনার মনকে প্রকৃত যুক্তিটির দিকে আরও কিছুটা ফোকাস করতে মুক্ত করে দেয় প্রয়োগ করতে এবং এগুলি পরে ডিবাগিংটি আরও দ্রুত তৈরি করে কোডটি পড়া আরও সহজ করে তোলে।
এপিআই সাইডে, বেশ কয়েকটি এপিআই আপডেটও এসেছে:
- সুরক্ষার ভিত্তিতে , বেশ কয়েকটি এনক্রিপশন পদ্ধতি যুক্ত / অবচিত করা হয়েছে, কারণ ক্রাইপ্টো সর্বদা এগিয়ে চলেছে।
- ফাইল আইও পরিবর্তন করা হয়েছে, ( এটি আরও ভাল লিঙ্ক হতে পারে ) বেশ কয়েকটি জায়গায় কিছু ভাল বিমূর্ততা যুক্ত করেছে। আমি ব্যক্তিগতভাবে নতুন আইও স্টাফটিতে ডুব দিয়েছি না, তবে এটি একটি খুব দরকারী ওভারহলের মতো দেখায়, যতটা ব্যথা ছাড়াই ফাইল সিস্টেমের সাথে কাজ করা আরও সহজ করে তোলে।
- ইউনিকোড সমর্থন ইউনিকোড .0.০ অবধি রয়েছে আরও কয়েকটি আন্তর্জাতিকীকরণ বর্ধিতকরণ।
- জাভা 2 ডি , যা আপনি আপনার প্রশ্নে উল্লেখ করেছেন, উন্নত করা হয়েছে। উন্নত লিনাক্স ফন্ট সমর্থন, আধুনিক মেশিনগুলিতে আরও ভাল এক্স 11 রেন্ডারিং এবং তিব্বতি স্ক্রিপ্টগুলি পরিচালনা করা।