valueOf(), values() and compareTo() method in enumeration

enumeration valueOf() and values() মেথোডের ব্যাবহারঃ ইনামারেশন অটোমেটিকেলি পূর্বনির্ধারিত দুইটি মেথোড ধারণ করে থাকে। values() and valueOf() enum-type.values() = একটি এনামারেশনের সকল কন্সট্যান্ট কে ধারণ করে। একটি এরে হিসেবে তাদের রিটার্ন করে। enum-type.valueOf() = একটি এনামারেশনের একটি কন্সট্যান্ট কে ধারণ করে সক্ষম। এটি কন্সট্যান্ট কে স্ট্রিং হিসেবে গ্রহণ করে। public class EnumValueAndValueOf { // একটি…

Suspend and resuming in Thread

**Suspend বলতে বুঝায়, নির্দিষ্ট কোন থ্রেডের কাজকে বন্ধ বা অপেক্ষায় রাখা যতক্ষণ না তাকে আবার কাজ করার অনুমতি দেওয়া হয়। ** wait() মূলত এখন সাসপেন্ডের জন্যে ব্যবহৃত হয়।থ্রেডকে নির্দিষ্ট সময়ের জন্যে অপেক্ষায় রাখার জন্যে। ** notify() সকল wait() করা থ্রেডকে পুনরায় resume করা হয়। **Stop বলতে থ্রেডের কাজকে একেবারে stop করা। যাকে আর শুরু করা…

Thread Creation

ভূমিকাঃ যখনি আমরা পোগ্রাম শুরু করি তখন জাভা অটোমেটিকেলি একটি থ্রেড তৈরি করে, যাকে আমরা মেইন থ্রেড বলি। এটি থেকেই অন্যান্য বাচ্চা থ্রেড তৈরি হয়, যাদের কাজ বড় বা ছোট হতে পারে। মেইন থ্রেডের ভূমিকা অনেক। এটি তার বাচ্চা গুলোকে নিয়ন্ত্রণ করতে পারে বিভিন্ন মেথোডের মাধ্যমে। এই মেইন থ্রেড কে আমরা নিজেদের মত করে নিয়ন্ত্রণ…

থ্রেডের join(), isAlive(), sleep(), currentThread()

নিচের উদাহরণে আমরা sleep(), join(), isAlive(), currentThread() মেথোড একসাথে ব্যবহার করেছি। sleep(): sleep(milisecond, nenosecond) or sleep(milisecond) একটি নির্দিষ্ট সময়ের জন্যে নির্দিষ্ট থ্রেডের কাজকে ঘুম পারিয়ে রাখা বা বিরতি দিয়ে রাখা বোঝানো হয়। কিন্তু প্রসেসের সেই সময়ে তার অন্য কাজ ঠিকই করে শুধু নির্দিষ্ট থ্রেডটি নির্দিষ্ট সময়ের জন্যে স্লিপ মুডে থাকে মানে তার কাজ বন্ধ রাখে।…

Basic of threads

মাল্টি-থ্রেড জাভা বিল্ট ইন মাল্টিথ্রেড সাপোর্ট করে। মাল্টিথ্রেড দুইবা ততোধিক কাজের অংশের সমন্বয়ে গঠিত যেগুলো একই সময়ে পরিচালিত হয় তবে একটার পর একটি সংঘটিত হয়ে থাকে। এক একটি অংশকে থ্রেড বলে। মাল্টিথ্রেড দ্বারা মাল্টিটাস্ক করাকেই মূলত বুঝানো হয়ে থাকে। এখানে প্রত্যেকটি থ্রেড এক একটি কাজ চালনা করে থাকে। একটি পোগ্রামের বিভিন্ন কাজ গুলো পরস্পরের থেকে…

Multiple try and catch clause

Multiple catch statement: try  স্টেইটমেন্টে একের অধিক এক্সচেপশন থাকতে পারে।সেই গুলো কেচ করার জন্যেও অধিক catch clause লাগতে পারে। এই ক্ষেত্রে কাজ আগের মতই  তবে try clause এ যেই এক্সচেপশন আগে ধরা পরবে তা catch clause এ throw করা হবে। তারপর সেই এক্সচেপশন অনুযায়ী catch স্টেইটমেন্ট কাজ করবে এবং বাকি catch clause গুলো স্কিপ করবে।যদি…

এক্সচেপশন হ্যান্ডেলিং এর ব্যাসিক

এক্সচেপশন জাভা এক্সচেপশন হচ্ছে একটি অবজেক্ট। জাভা এক্সচেপশন হচ্ছে একটি প্রবলেম বা এরর যেটি কোড রান হওয়ার সময় ধরা পরে। এটি কোডের সাধারণ নিয়মে রান হওয়াতে বাধা দেয়। এক্সচেপশন বিভিন্ন কারণে হতে পারে, ১) ইউজার যদি ইনভেলিড ইনপুট দেয় বা কোডের মাঝে কোন নিষিদ্ধ কাজ করা হয়। যেমন, কোন সংখ্যাকে শুন্য দিয়ে ভাগ করা ২)…

প্যাকেজ পরিচিতি

প্যাকেজঃ পূর্বে আমরা ডিফল্ট ভাবে অনেক ক্লাস ডিফাইন করেছি। সবগুলো ক্লাসের নাম একটি আরেকটি থেকে আলাদা। যদি দুইটি ক্লাসের নাম একই হয় তাহলে আমরা নাম কলিসনের সম্মুখীন হতে পারি। অবশ্য আমাদের কাজের জন্যে একই নামের ক্লাস দরকার হতে পারে। জাভা আমাদের একটি বিশেষ মেকানিজম প্রোভাইড করে যেখানে আমরা নেইমস্পেসকে আরো বিভিন্ন অংশে ব্যাবহার করতে পারি।…

final keyword

ফাইনাল একটি কিওয়ার্ড, যেটি জাভাতে নিম্নের ৩টি গুরুত্বপূর্ণ কাজের জন্য ব্যবহৃত হয়ে থাকে। >> ভেরিয়েবল ইনহেরিটেন্সঃ >> মেথোড ( মেথোড ওভাররাইন্ডিং দূর করার জন্যে ) >> ক্লাস ( ইনহেরিটেন্স দূর করার জন্যে ) এটি মূলত ইউজারকে কিছু জিনিস ব্যবহার থেকে বাধা দেয়। ভেরিয়েবলের জন্যে ফাইনাল কিওয়ার্ডঃ final int a; final int b = 10; একটি…

super keyword

এটি মূলত সাবক্লাসে ব্যবহার করা হয়।এটি সাবক্লাস থেকে সুপারক্লাসের ভেরিয়েবল, মেথোড এবং কোন্সট্রাক্টরকে ডেকে (refer or invoke) থাকে।   ইন্সটেন্স ভেরিয়েবলের ক্ষেত্রেঃ সুপারক্লাস এবং সাবক্লাসের ইন্সটেন্স ভেরিয়েবলের নাম একই হলে সাবক্লাস থেকে সুপারক্লাসের ইন্সটেন্স ভেরিয়েবল সাধারণ নিয়মে এক্সেস করতে গেলে সুপারক্লাসের ভেরিয়েবল সাবক্লাসের ভেরিয়েবল দ্বারা হাইড বা লুকিয়ে যায়। এই সমস্যাটি দূর করার জন্যে super.variable_name…