জাভাতে চিহ্নিতকারী ইন্টারফেস কীভাবে প্রয়োগ করবেন?

এই নিবন্ধটি আপনাকে জাভাতে চিহ্নিতকারী ইন্টারফেস হিসাবে পরিচিত ইন্টারফেসের একটি আকর্ষণীয় দিক সম্পর্কে সংক্ষিপ্ত করবে এবং বাস্তবায়নের সাথে এটি অনুসরণ করবে।

এই নিবন্ধটি আপনাকে ইন্টারফেসের একটি আকর্ষণীয় দিক সম্পর্কে সংক্ষিপ্ত করবে যা মার্কার ইন্টারফেস ইন হিসাবে পরিচিত এবং বাস্তবায়নের সাথে এটি অনুসরণ করুন। নিম্নলিখিত পয়েন্টারগুলি এই নিবন্ধে কভার করা হবে,



সুতরাং আমাদের এখন শুরু করা যাক,



চিহ্নিতকারী ইন্টারফেসটি একটি ইন্টারফেস যা খালি, অর্থাত্ এতে কোনও পদ্ধতি বা ক্ষেত্র নেই। এটি ট্যাগিং ইন্টারফেস হিসাবেও পরিচিত এবং জেভিএমকে ইঙ্গিত করতে বা জানাতে ব্যবহৃত হয় যে এই ইন্টারফেসটি প্রয়োগকারী কোনও শ্রেণীর কিছু বিশেষ আচরণ থাকবে। কোডকে শ্রেণিবদ্ধ করার একটি কার্যকর উপায় চিহ্নিতকারী ইন্টারফেস ব্যবহার করে অর্জন করা যেতে পারে। এই জাতীয় ইন্টারফেসের উদাহরণগুলি হল: সিরিয়ালাইজযোগ্য, ক্লোনযোগ্য এবং দূরবর্তী ইন্টারফেস।

জাভাতে মার্কার ইন্টারফেসে এই নিবন্ধটি নিয়ে সরানো



সিরিয়ালাইজযোগ্য ইন্টারফেস

জাভাতে সিরিয়ালাইজেশন কোনও বস্তুর অবস্থাকে বাইট স্ট্রিমে রূপান্তর করার প্রক্রিয়া হিসাবে সংজ্ঞায়িত করা যেতে পারে। Java.io.package এ উপস্থিত সিরিয়ালাইজযোগ্য ইন্টারফেস ব্যবহার করে এটি অর্জন করা যেতে পারে। এটি অবশ্যই লক্ষ রাখতে হবে যে সিরিয়ালাইজযোগ্য শ্রেণীর সমস্ত উপপ্রকারগুলি সেগুলিই সিরিয়ালযোগ্য iz

উদাহরণ:

আমদানি java.io. * ক্লাস মাইন সিরিয়ালাইজেবল {ইন্ট জে স্ট্রিং s // একটি ক্লাস কনস্ট্রাক্টর পাবলিক মেইন (ইন্ট জে, স্ট্রিং গুলি) {this.j = j this.s = s}} পাবলিক ক্লাস টেস্ট {পাবলিক স্ট্যাটিক অকার্যকর প্রধান প্রয়োগ করে (স্ট্রিং [] আরগস) আইওএক্সেপশন, ক্লাসনটফাউন্ডএক্সেপশন {প্রধান অবজেক্ট = নতুন মেইন (25, 'হ্যালো ওয়ার্ল্ড') // সিরিজিং 'অবজেক্ট' ফাইলআউটপ্রেস্টম fos = নতুন ফাইলআউটপুট স্ট্রিম ('pqr.txt') অবজেক্টআউটপুটস্ট্রিম oos = নতুন অবজেক্টআউটপ্রেম (fos) .writObject (اعتراض) // '-ইজেক্ট' ফাইল-ইনপুটস্ট্রিম fis = নতুন ফাইলআইপুটপ্রবাহ ('pqr.txt') অবজেক্ট ইনপুটস্ট্রিম ois = নতুন অবজেক্টইনপ্রেস্টম (fis) প্রধান বি = (প্রধান) ois.readObject () // ডাউন-কাস্টিং অবজেক্ট System.out.println (b.j + '' + bs) // সমাপ্তি স্ট্রিম oos.close () ois.close ()}}

আউটপুট:
25 হ্যালো ওয়ার্ল্ড



জাভাতে মার্কার ইন্টারফেসে এই নিবন্ধটি নিয়ে সরানো

ক্লোনযোগ্য ইন্টারফেস:

এই ইন্টারফেসটি java.lang প্যাকেজে পাওয়া যাবে। ক্লোনিং হ'ল প্রতিলিপি তৈরির প্রক্রিয়া বা ভিন্ন নামের সাথে কোনও জিনিসের সঠিক অনুলিপি।
ক্লোনেবেল ইন্টারফেসটি একটি শ্রেণীর দ্বারা প্রয়োগ করা হয় অবজেক্ট.ক্লোন () পদ্ধতিতে নির্দেশ করার জন্য যে পদ্ধতিটি বৈধ হয় সেই শ্রেণীর উদাহরণগুলির ক্ষেত্রের জন্য ক্ষেত্রের অনুলিপি তৈরি করা।
ক্লোন নটসপোর্টড এক্সসেপশনটি এমন কোনও শ্রেণীর জন্য নিক্ষেপ করা হয় যা ক্লোনযোগ্য ইন্টারফেস প্রয়োগ না করে ক্লোন পদ্ধতিটি অনুরোধ করে।

উদাহরণ:

আমদানি করুন java.lang. ক্লোনিয়েবল ক্লাস javaClone ক্লোনযোগ্য {int j স্ট্রিং গুলি // শ্রেণি নির্মাতা পাবলিক javaClone (int j, স্ট্রিং গুলি) সংজ্ঞায়িত করছে {this.j = j this.s = s} // ওভাররাইডিং ক্লোন () পদ্ধতি @ ওভাররাইড সুরক্ষিত অবজেক্ট ক্লোনটি () ক্লোননটসপোর্টড এক্সপশনটি ছুঁড়ে super সুপারক্লোন রিটার্ন করুন ()}} পাবলিক ক্লাস মেইন {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরোগুলি) ছুড়ে ফেলেছে ক্লোননটসপোর্টড এক্সসেপশন ava জাভাক্লোন সি = নতুন জাভা ক্লোন (18, 'হ্যালো ওয়ার্ল্ড') // ক্লোনিং সি 'এবং হোল্ডিং // বি-ডাউন ডাউন কাস্টিং জাভাক্লোন বি = (জাভাক্লোন) সি.ক্লোন () System.out.println (বিজে) System.out.println (বিএস) in in

আউটপুট:
18
ওহে বিশ্ব

জাভাতে মার্কার ইন্টারফেসে এই নিবন্ধটি নিয়ে সরানো

রিমোট ইন্টারফেস:

একটি রিমোট অবজেক্ট এমন একটি বিষয় হিসাবে সংজ্ঞায়িত করা যেতে পারে যার পদ্ধতিগুলি পৃথক জেভিএম থেকে সম্ভাব্যভাবে অন্য হোস্টে আহ্বান করা যেতে পারে। এই ইন্টারফেসটি java.rmi প্যাকেজে পাওয়া যায়। একটি প্রত্যন্ত অবজেক্টকে সরাসরি বা অপ্রত্যক্ষভাবে এই পদ্ধতিটি প্রয়োগ করতে হবে।

আরএমআই:

রিমোট মেথড কনভোকেশন এমন একটি এপিআই যা কোনও জেভিএমের মধ্যে চলমান কোনও অবজেক্টের জন্য পদ্ধতিগুলি আহ্বান করতে সক্ষম করে object এটি নিম্নলিখিত বিষয়গুলি ব্যবহার করে দুটি অ্যাপ্লিকেশনগুলির মধ্যে দূরবর্তী যোগাযোগ সরবরাহ করে: স্টাব এবং কঙ্কাল।

java ডাবল থেকে ইনকে রূপান্তর করুন

অসম্পূর্ণ:

একটি স্টাবকে এমন একটি বস্তু হিসাবে সংজ্ঞায়িত করা যেতে পারে যা ক্লায়েন্টের পাশে উপস্থিত থাকে এবং দূরবর্তী বস্তুটি উপস্থাপন করে। এটি একটি তথ্য ব্লক তৈরি করে যা এর সমন্বয়ে গঠিত:
remote দূরবর্তী বস্তুর সনাক্তকারী enti
method যে পদ্ধতিটি চাওয়া হবে তার নাম
remote দূরবর্তী জেভিএমের পরামিতি

কঙ্কাল:

কঙ্কাল অবজেক্টের প্রধান কাজ হ'ল স্টাব থেকে দূরবর্তী বস্তুর কাছে অনুরোধগুলি পাস করা। এছাড়াও, এটি নীচে প্রদত্ত কাজগুলি সম্পাদন করে:
α এটি আসল দূরবর্তী বস্তুর উপর পছন্দসই পদ্ধতিটি আহ্বান করে
remote রিমোট অবজেক্টের জন্য নির্দিষ্ট পরামিতি পড়ে

জাভাতে মার্কার ইন্টারফেসে এই নিবন্ধটি নিয়ে সরানো

রিমোট ইন্টারফেস প্রয়োগের পদক্ষেপ:

দূরবর্তী ইন্টারফেসটি সংজ্ঞায়িত করুন:

আমদানি java.rmi।

এখানে, রিমোট ইন্টারফেসটি প্রসারিত করা হয়েছে, এবং দূরবর্তী ইন্টারফেসের সমস্ত পদ্ধতি সহ রিমোটএক্সসেপশন ঘোষণা করা হয়।

প্রারম্ভিকদের পিডিএফ জন্য বিক্রয়শক্তি বিকাশকারী টিউটোরিয়াল

জাভাতে মার্কার ইন্টারফেসে এই নিবন্ধটি নিয়ে সরানো

দূরবর্তী ইন্টারফেস প্রয়োগ করুন:

দূরবর্তী ইন্টারফেসে প্রয়োগের দুটি উপায় রয়েছে:
Un ইউনিকাস্টার রিমোটঅবজেক্ট শ্রেণি প্রসারিত করুন
ic ইউনিকাস্ট্রেমোটোবজেক্ট শ্রেণীর এক্সপোর্টঅবজেক্ট () পদ্ধতিটি ব্যবহার করুন

আমদানি java.rmi। ​​* আমদানি java.rmi.server। * পাবলিক ক্লাস AddAllRemote প্রসারিত ইউনিকাসট্রোমোটোবজেক্ট প্রয়োগকারী অ্যাডার {অ্যাডআলআরমোট () নিক্ষেপ করে রিমোটএক্সেপশন {সুপার ()} পাবলিক ইনট অ্যাড (ইন্ট আর, ইন্ট এস) {রিটার্ন রি + এস}}

আরএমসি (আরএমআই সংকলক) ব্যবহার করে স্টাব এবং কঙ্কাল বস্তু তৈরি করুন।

স্টিম এবং কঙ্কাল বস্তুগুলি আরএমআই সংকলক ব্যবহার করে তৈরি করা যেতে পারে। আরএমআই সরঞ্জাম বস্তুগুলি তৈরি করতে আরএমআই সংকলককে অনুরোধ করে।
rmic AddAllRemote

Rmiregistry সরঞ্জাম ব্যবহার করে, রেজিস্ট্রি পরিষেবা শুরু করুন।

Rmregistry সরঞ্জাম ব্যবহার করে রেজিস্ট্রি পরিষেবা শুরু করা যেতে পারে। ব্যবহারকারীর দ্বারা নির্দিষ্ট না করে একটি ডিফল্ট পোর্ট নম্বর ব্যবহৃত হয়।
rmiregistry 5000

জাভাতে মার্কার ইন্টারফেসে এই নিবন্ধটি নিয়ে সরানো

রিমোট অ্যাপ্লিকেশন তৈরি এবং শুরু করুন।

আমদানি করুন java.rmi। / সাক ', স্টাব)} ক্যাচ (ব্যতিক্রম ই) {System.out.println (ই)}}}

উপরের উদাহরণে দূরবর্তী বস্তুটি নাম সাক দিয়ে আবদ্ধ হচ্ছে।

জাভাতে মার্কার ইন্টারফেসে এই নিবন্ধটি নিয়ে সরানো

ক্লায়েন্ট অ্যাপ্লিকেশন তৈরি করুন এবং শুরু করুন।

প্রদত্ত উদাহরণে সার্ভার এবং ক্লায়েন্ট অ্যাপ্লিকেশনগুলি একই মেশিনে চলছে। এভাবে লোকালহোস্টের ব্যবহার হচ্ছে।

আমদানি java.rmi। ​​* পাবলিক ক্লাস ক্লায়েন্ট {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরগস []) {চেষ্টা করুন {অ্যাডএল স্টাব = (অ্যাডএল) নামিং.লুপআপ ('আরএমআই: // লোকালহোস্ট: 5000 / সেক') System.out.println (stub.add (29,18))} ধরা (ব্যতিক্রম ই) {}}

ভিন্ন মেশিন থেকে দূরবর্তী বস্তুটি অ্যাক্সেস করতে, স্থানীয় হোস্টের নামটি অবশ্যই আইপি ঠিকানা বা রিমোট অবজেক্টটি অবস্থিত হোস্টের নামটিতে পরিবর্তন করতে হবে।

কোডকে শ্রেণিবদ্ধ করার একটি কার্যকর উপায় চিহ্নিতকারী ইন্টারফেস ব্যবহার করে অর্জন করা যেতে পারে।

এইভাবে আমরা এই নিবন্ধটির শেষে এসেছি। আপনি যদি আরও শিখতে চান তবে এটি দেখুন এডুরেকা, একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা। এডুরেকার জাভা জে 2 ইই এবং এসওএ প্রশিক্ষণ এবং শংসাপত্রের কোর্সটি হিবারনেট ও স্প্রিংয়ের মতো বিভিন্ন জাভা ফ্রেমওয়ার্কের পাশাপাশি আপনাকে মূল এবং উন্নত জাভা উভয় ধারণার জন্য প্রশিক্ষণের জন্য তৈরি করা হয়েছে।

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই ব্লগের মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।