কম্পিউটার

জাভা 9 এ ফ্লো এপিআই চালানোর পদক্ষেপগুলি কী কী?


ফ্লো API৷ জাভা 9-এ প্রতিক্রিয়াশীল স্ট্রীম-এর সাথে মিলে যায় স্পেসিফিকেশন, যা একটি ডিফ্যাক্টো স্ট্যান্ডার্ড। এটিতে ইন্টারফেসের একটি ন্যূনতম সেট রয়েছে যা অ্যাসিঙ্ক্রোনাস প্রকাশনা এবং সদস্যতার হৃদয়কে ক্যাপচার করে৷

নীচে ফ্লো API-এর মূল ইন্টারফেসগুলি রয়েছে৷ :

1) প্রবাহ। প্রকাশক: এটি গ্রাহকদের ব্যবহার করার জন্য আইটেম তৈরি করে এবং এতে শুধুমাত্র পদ্ধতি রয়েছে:সাবস্ক্রাইবার(সাবস্ক্রাইবার) , যার উদ্দেশ্য সুস্পষ্ট হওয়া উচিত।

সিনট্যাক্স

void subscribe(Flow.Subscriber<? super T> subscriber)

2) প্রবাহ। সাবস্ক্রাইবার: এটি আইটেমগুলি গ্রহণ করার জন্য প্রকাশকদের (সাধারণত শুধুমাত্র একজন) সদস্যতা নেয় (onNext(T) পদ্ধতির মাধ্যমে ), ত্রুটি বার্তা (onError(throwable) ), অথবা একটি সংকেত যে আর কোন আইটেম প্রত্যাশিত নয় (onComplete() ) এই সব কিছু ঘটার আগে, প্রকাশক কল করে অনসাবস্ক্রিপশন(সাবস্ক্রিপশন) পদ্ধতি।

সিনট্যাক্স

void onSubscribe(Flow.Subscription subscription)
void onNext(T item)
void onError(Throwable throwable)
void onComplete()

3) প্রবাহ। সদস্যতা: একক প্রকাশকের মধ্যে সংযোগ এবং একজন একক সাবস্ক্রাইবার . গ্রাহক আরো আইটেম অনুরোধ করতে এটি ব্যবহার করতে পারেন (অনুরোধ(দীর্ঘ) ) অথবা সংযোগ বিচ্ছিন্ন করুন (বাতিল() )।

সিনট্যাক্স

void request(long n)
void cancel()

ফ্লো এপিআই এর জন্য সঞ্চালনের ধাপ:


  • প্রথমে, আমাদের একটি প্রকাশক তৈরি করতে হবে৷ এবং একজন সাবস্ক্রাইবার .
  • সাবস্ক্রাইবারকে Publisher::subscribe দিয়ে সাবস্ক্রাইব করুন .
  • প্রকাশক একটি সাবস্ক্রিপশন তৈরি করে এবং কল করুন Subscriber::onSubscription এটির সাথে, যাতে গ্রাহক সাবস্ক্রিপশন সংরক্ষণ করতে পারেন।
  • কিছু ​​সময়ে, গ্রাহক কল করে সাবস্ক্রিপশন:: অনুরোধ বেশ কিছু আইটেম অনুরোধ করতে।
  • প্রকাশক Subscriber::onNext কল করে গ্রাহককে আইটেমগুলি হস্তান্তর করা শুরু করে . এটি কখনই অনুরোধকৃত আইটেমের সংখ্যার বেশি প্রকাশ করে না।
  • প্রকাশক কোনো এক সময়ে সমস্যায় পড়তে পারেন এবং কল করতে পারেন Subscriber::onComplete অথবা Subscriber::onError , যথাক্রমে।
  • সাবস্ক্রাইবার হয়ত প্রতি মুহূর্তে আরও আইটেমের অনুরোধ চালিয়ে যেতে পারে অথবা সাবস্ক্রিপশন::বাতিল কল করে সংযোগ কেটে দিতে পারে .

  1. জাভা 9-এ স্ট্রিম API-তে নতুন বৈশিষ্ট্যগুলি কী যোগ করা হয়েছে?

  2. জাভা 9 এ প্রবর্তিত প্রধান বৈশিষ্ট্য এবং বর্ধনগুলি কি কি?

  3. জাভা ক্লাসে স্ট্যাটিক সদস্যদের পড়ার পদক্ষেপগুলি কী কী?

  4. একটি জাভা প্রোগ্রাম চালানোর জন্য জড়িত বিভিন্ন পদক্ষেপ কি কি?