ক্লোনেবেলকে কেন হ্রাস করা হয় না?


139

এটি সাধারণত বোঝা যায় যে Cloneableজাভাতে ইন্টারফেসটি ভেঙে গেছে। এর অনেকগুলি কারণ রয়েছে, যা আমি উল্লেখ করব না; অন্যরা ইতিমধ্যে এটি করেছে। এটি নিজেরাই জাভা স্থপতিদের অবস্থান ।

আমার প্রশ্ন তাই: কেন এখনও অবচয় করা হয়নি? মূল জাভা দল যদি সিদ্ধান্ত নিয়েছে যে এটি ভেঙে গেছে, তবে তারা অবশ্যই অবমূল্যায়ন বিবেচনা করবে। এটি করার বিরুদ্ধে তাদের কারণগুলি কী (জাভা 8 এ এটি এখনও অবমূল্যায়ন করা হয়নি )?


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

6
@ মারকো টপলনিক আমি সম্মত হই যে বিশ্বে এমন কিছু লোক রয়েছে যারা প্রামাণিক উত্তর দিতে পারে তবে আমি বিশ্বাস করি না যে এটিই আমরা এখানে প্রয়োগ করি। অবসান কারণ যুক্তরাষ্ট্রের "এই প্রশ্নের উত্তর থাকে প্রায় পুরোটাই তাদের মতামত নিয়ে হতে"। আমি সন্দেহ করি যে বিষয়টি এখানেই ঘটবে, যদি না আমরা খুব ভাগ্যবান হই।
ডানকান জোন্স

2
ওরাকল থেকে অবজ্ঞা করার জন্য এখানে "কীভাবে এবং কখন" রয়েছে ... ( docs.oracle.com/javase/6/docs/technotes/guides/javadoc/… ) ক্লোনেবেল ইন্টারফেসটি "বগি, বা অত্যন্ত অযোগ্য" ক্ষেত্রে পড়তে পারে তবে এটি মতামত খুব উন্মুক্ত।
ম্যাক্সেক্স

8
@ ডানকান এখনও আমি উত্তরদাতাদের পক্ষ থেকে শৃঙ্খলার অভাব সম্পর্কে আমার অনুমানের উপর ভিত্তি করে প্রশ্নটির রায় প্রদান করা ন্যায়সঙ্গত মনে করি না । যদি কোনও ব্যবহারকারী জিজ্ঞাসা করার কারণটি না জানেন তবে (গুলি) তিনি এই বিষয়ে তার মতামত উপস্থাপনের জন্য উত্তর প্রদানের অপব্যবহারের অধিকারী নন।
মার্কো টপলনিক

4
@lexicore হ্যাঁ, ঠিক --- এবং আপনি বাজি ধরতে পারেন তারা পুঙ্খানুপুঙ্খভাবে বিবেচনা করেছেন যে বিকল্প এবং বিবক্ষিত থাকতে হবে শক্তিশালী কারণে এটা থামানো না। তাদের নিজস্ব সমালোচনা Cloneableব্যাপকভাবে পরিচিত।
মার্কো টপলনিক

উত্তর:


120

১৯৯ 1997 সালে জাভা বাগ ডেটাবেসেclone() পদ্ধতি যুক্ত করার বিষয়ে একটি বাগ জমা দেওয়া হয়েছে Cloneable, সুতরাং এটি আর অকেজো হবে না। এটি "ঠিক করবে না" রেজোলিউশনের সাথে বন্ধ ছিল এবং ন্যায়সঙ্গততা নিম্নরূপ:

সান এর প্রযুক্তিগত পর্যালোচনা কমিটি (টিআরসি) এই বিষয়টিকে দৈর্ঘ্যে বিবেচনা করেছে এবং বর্তমান ক্লোনযোগ্য ইন্টারফেসের ডকুমেন্টেশন উন্নত করা ছাড়া অন্য কোনও পদক্ষেপ নেওয়ার বিরুদ্ধে সুপারিশ করেছে । সুপারিশটির সম্পূর্ণ পাঠ্য এখানে:

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

এই সংমিশ্রণের ফলে ন্যায্য পরিমাণ বিভ্রান্তির সৃষ্টি হয়। কিছু শ্রেণি ক্লোনযোগ্যকে সমর্থন করার দাবি করে তবে দুর্ঘটনাক্রমে ক্লোন পদ্ধতিটি সমর্থন করতে ভুলে যায়। ক্লোনাবল কীভাবে কাজ করার কথা এবং ক্লোনটি কী করার কথা বলে তা নিয়ে বিকাশকারীরা বিভ্রান্ত।

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

বিকল্প প্রস্তাবনাটি ছিল একটি নতুন ইন্টারফেস জাভা.লং.পাবলিকভাবে ক্লোনএবলের আসল উদ্দেশ্যকে প্রতিফলিত করতে ক্লোনেবেল যুক্ত করা। 5 থেকে 2 সংখ্যাগরিষ্ঠতার মাধ্যমে টিআরসি এর বিপরীতে সুপারিশ করেছিল। মূল উদ্বেগটি হ'ল এটি ইতিমধ্যে বিভ্রান্ত ছবিতে আরও বিভ্রান্তি (বানান বিভ্রান্তি সহ!) যুক্ত করবে।

টিআরসি সর্বসম্মতভাবে সুপারিশ করেছিল যে এটি ব্যবহারের উদ্দেশ্যে কীভাবে করা হয়েছে তা আরও ভালভাবে বর্ণনা করতে এবং প্রয়োগকারীদের জন্য "সেরা অনুশীলনগুলি" বর্ণনা করার জন্য আমাদের বিদ্যমান ক্লোনযোগ্য ইন্টারফেসে অতিরিক্ত ডকুমেন্টেশন যুক্ত করা উচিত

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

ক্লাসেবল ইন্টারফেস প্রয়োগ করে ক্লাসেবল ইন্টারফেসটি অবজেক্ট.ক্লোন () পদ্ধতিতে নির্দেশ করে যে এই পদ্ধতির জন্য সেই শ্রেণীর উদাহরণগুলির ক্ষেত্রের জন্য ক্ষেত্রের অনুলিপি তৈরি করা বৈধ।

ক্লোনস উদাহরণস্বরূপ যে ক্লোনযোগ্য ইন্টারফেস বাস্তবায়িত করে না ক্লোননটসপটেডএক্সসেপশন ব্যতিক্রমের ফলস্বরূপ চেষ্টা করা হচ্ছে one

ইন্টারফেস ক্লোনযোগ্য কোনও পদ্ধতি ঘোষণা করে না।

জাভা 1.4 (যা ফেব্রুয়ারী 2002 এ প্রকাশিত হয়েছিল) থেকে বর্তমান সংস্করণ (জাভা 8) অবধি এরকম দেখাচ্ছে:

ক্লাসেবল ইন্টারফেস প্রয়োগ করে ক্লাসেবল ইন্টারফেসটি অবজেক্ট.ক্লোন () পদ্ধতিতে নির্দেশ করে যে এই পদ্ধতির জন্য সেই শ্রেণীর উদাহরণগুলির ক্ষেত্রের জন্য ক্ষেত্রের অনুলিপি তৈরি করা বৈধ। ক্লোননেট ইন্টারফেস ফলাফল কার্যকর করে না এমন উদাহরণে অবজেক্টের ক্লোন পদ্ধতিটি চালু করা ক্লোননটসপোর্টড এক্সসেপশনটি ছুঁড়ে ফেলা হচ্ছে।

কনভেনশন দ্বারা, যে ক্লাসগুলি এই ইন্টারফেসটি বাস্তবায়ন করে তাদের জনসাধারণের পদ্ধতিতে অবজেক্ট.ক্লোন (যা সুরক্ষিত) ওভাররাইড করা উচিত। এই পদ্ধতিটি ওভাররাইড করার বিষয়ে বিশদ জানতে অবজেক্ট.ক্লোন () দেখুন।

নোট করুন যে এই ইন্টারফেসে ক্লোন পদ্ধতি নেই। সুতরাং, কেবল কোনও বস্তুটিকে এই ইন্টারফেসটি প্রয়োগ করে কেবল তার ক্লোন করা সম্ভব নয়। এমনকি যদি ক্লোন পদ্ধতিটি প্রতিফলিতভাবে আহ্বান করা হয় তবে এটি সফল হওয়ার কোনও গ্যারান্টি নেই।


3
এবং আপনি কি জানেন যে cloneপদ্ধতিটি Objectপ্রথম স্থানে ছিল কেন ?
njzk2

8
@ njzk2 এটি প্রক্রিয়ার একটি অত্যাবশ্যক অংশ --- এটি হ'ল পদ্ধতিটি হ'ল নিম্ন স্তরের, বহিরাগত ভাষায় যাদু করার জন্য অবজেক্টের চিত্রটি কিছুটা কপি করে।
মার্কো টপলনিক

3
@ উনিহিলিগ magic যাদুটি এমন একটি জিনিস যা আপনি অনুলিপি নির্মাণকারীর সাথে প্রতিলিপি করতে পারবেন না: সংকলনকালে সেই শ্রেণিটি জানা না Object#clone()থাকলে আসল হিসাবে একই শ্রেণির উদাহরণ তৈরি করে।
মার্কো টপলনিক

4
@ অ্যাওলপ: এটি উত্তরের "যেখানে ক্লাসগুলি ক্লোনযোগ্য ইন্টারফেস সমর্থন করে তবে একটি সার্বজনিক ক্লোন পদ্ধতি সরবরাহ করতে ব্যর্থ হয়" উত্তরে উল্লিখিত উত্সের অসামঞ্জস্যতার বিষয়টি ঠিক করবে না। বিশেষত, একটি অ-প্রজাতন্ত্র ক্লোন পদ্ধতি সরবরাহকারী ক্লাসগুলি ভেঙে দেওয়া হবে।
লুই ওয়াসারম্যান

2
দুর্দান্ত ইতিহাস। এখানে বাগ ডেটাবেসের সরাসরি লিঙ্ক । আমি সেখানে আরও কিছু ইতিহাস যুক্ত করেছি এবং আমি এর উত্তরে এর কিছু অংশ উদ্ধৃত করেছি ।
স্টুয়ার্ট

64

"কেন Cloneableঅবহেলা করা হয়নি?" এর সংক্ষিপ্ত উত্তর (বা প্রকৃতপক্ষে, কেন কারও জন্য Xঅবহেলিত নয় X) তা হ'ল এগুলি হ্রাস করার বিষয়ে খুব বেশি মনোযোগ দেওয়া হয়নি।

সম্প্রতি অপসারণ করা হয়েছে এমন বেশিরভাগ জিনিস হ্রাস করা হয়েছে কারণ সেগুলি সরানোর জন্য একটি নির্দিষ্ট পরিকল্পনা রয়েছে। উদাহরণস্বরূপ, addPropertyChangeListenerএবং removePropertyChangeListenerপদ্ধতি LogManager হয়েছে জাভা SE 8 অবচিত তাদের জাভা SE 9. মধ্যে সরানোর উদ্দেশ্যে (কারণ তারা অকারণে মডিউল * প্রতিষ্ঠানের জটিল।) বস্তুতপক্ষে, এই API গুলি ইতিমধ্যে করা হয়েছে গোড়ার দিকে JDK 9 থেকে সরানো গঠন তৈরী করে। (নোট করুন যে অনুরূপ সম্পত্তি পরিবর্তন শ্রোতাদের কলগুলিও এ থেকে সরানো হয়েছে Pack200; দেখুন জেডিকে -8029806 )

এমন কোনো অনুরূপ পরিকল্পনা জন্য বিদ্যমান Cloneableএবং Object.clone()

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

  • এই বিপজ্জনক এবং আপনি এটি ব্যবহার ঝুঁকি সচেতন হতে হবে (উদাহরণ: Thread.stop(), Thread.resume(), এবং Thread.suspend())।

  • এটি ভবিষ্যতের প্রকাশে মুছে ফেলা হচ্ছে

  • এটি অপ্রচলিত এবং আলাদা কিছু ব্যবহার করা আপনার পক্ষে ভাল ধারণা (উদাহরণ: পদ্ধতিগুলির মধ্যে অনেকগুলি java.util.Date)

এগুলির সমস্ত স্বতন্ত্র অর্থ, এবং এগুলির বিভিন্ন সাবসেটগুলি হ'ল মূল্যহীন বিভিন্ন জিনিসের ক্ষেত্রে প্রযোজ্য। এবং এগুলির কিছু উপসেটগুলি এমন জিনিসগুলিতে প্রযোজ্য যেগুলি অবহেলা করা হয়নি (তবে এটি সম্ভবত হ্রাস করা উচিত)।

Cloneableএবং Object.clone()"ভাঙ্গা" হয় ইন্দ্রিয় তারা নকশা সংক্রান্ত ত্রুটিগুলি আছে এবং সঠিকভাবে ব্যবহার করা কঠিন যে। তবে, clone()অ্যারেগুলি অনুলিপি করার সর্বোত্তম উপায় এবং ক্লোনিংয়ের সাবধানতার সাথে বাস্তবায়িত ক্লাসগুলির উদাহরণগুলির অনুলিপি তৈরি করার কিছুটা সীমিত উপযোগিতা রয়েছে। ক্লোনিং অপসারণ করা একটি বেমানান পরিবর্তন হতে পারে যা অনেক কিছুই ভেঙে দেয়। একটি ক্লোনিং অপারেশন অন্যভাবে পুনরায় প্রয়োগ করা যেতে পারে তবে এটি সম্ভবত ধীর হবে Object.clone()

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

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

হালনাগাদ

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

ক্রিয়ালিজেবলের একই কারণে ক্লোনেবেলের কোনও পদ্ধতি নেই। ক্লোনযোগ্য ক্লাসের একটি বৈশিষ্ট্য নির্দেশ করে, ক্লাসটি যে পদ্ধতিগুলি সমর্থন করেছিল সে সম্পর্কে নির্দিষ্টভাবে কিছু বলার অপেক্ষা রাখে না।

প্রতিবিম্বের আগে, আমাদের কোনও অবজেক্টের অগভীর অনুলিপি তৈরি করার জন্য একটি দেশীয় পদ্ধতি প্রয়োজন। সুতরাং অবজেক্ট.ক্লোন () জন্মগ্রহণ করেছিল। এটি আরও স্পষ্ট ছিল যে অনেক শ্রেণি এই পদ্ধতিটিকে ওভাররাইড করতে চাইবে এবং প্রতিটি শ্রেণি ক্লোন করতে চাইবে না। সুতরাং প্রোগ্রামারটির অভিপ্রায়টি নির্দেশ করতে ক্লোনেবেলের জন্ম হয়েছিল।

সংক্ষেপে, ক্লোনিয়েবলের উদ্দেশ্যটি এটি নির্দেশ করে না যে আপনার একটি সার্বজনীন ক্লোন () পদ্ধতি ছিল। এটি বোঝানো হয়েছিল যে আপনি অবজেক্ট.ক্লোন () ব্যবহার করে ক্লোন করতে ইচ্ছুক ছিলেন এবং ক্লোন () কে পাবলিক করবেন কি করবেন না তা সিদ্ধান্ত গ্রহণের উপর নির্ভর করে।


3
আপনার এখানে একটি দুর্দান্ত উত্তর আছে স্যার আমি বিশেষত পছন্দ করি যে আপনি কেবল Object.clone()আগুনে ছোঁড়াবেন না কারণ অন্য প্রত্যেকে চান, তবে আপনি যুক্তি দিতে এবং এর ভাল জিনিসগুলি আনতে ইচ্ছুক।
আইজজা

2
যাইহোক, ক্লোন () এখনও অ্যারে অনুলিপি করার সর্বোত্তম উপায় এবং ক্লোনিংয়ের সাবধানে প্রয়োগ করা শ্রেণীর উদাহরণগুলির অনুলিপি তৈরি করার কিছুটা সীমিত উপযোগিতা রয়েছে। আমি 6428387, সমস্ত কোড পাথ (ক্লোন, নতুন / অ্যারেকপি, অ্যারেসকপিওফ) এর ঠিকঠাক সহ একই ছাপে ছাপে ছিলাম resulted সম্প্রতি কিছু পরিবর্তন হয়েছে?
বেটসেস

2
@ বেস্টসেস আমি মনে করি না যে array.clone()অগত্যা কোনও বিকল্পের চেয়ে দ্রুততর। এপিআই দৃষ্টিকোণ থেকে এটি অ্যারের সদৃশ করার সবচেয়ে সংক্ষিপ্ত উপায়। Arrays.copyOf(array, newlen)কাছাকাছি আসে, তবে এটির জন্য একটি দৈর্ঘ্যের প্যারামিটার প্রয়োজন, যা আপনি দৈর্ঘ্য পরিবর্তন না করে থাকলে তা অতিরিক্ত।
স্টুয়ার্ট

2
@ হোলজার হ্যাঁ যতদূর আমরা দেখতে পাচ্ছি এটি ১.১-এর পরে প্রথমবারের মতো কোনও এআইপিআইয়ের অপসারণ। এটিও নোট করুন যে যদিও আমরা সম্মত হয়েছি Thread.suspend()এবং Thread.stop()(নো-আরগ) বিপজ্জনক, সম্ভবত তারা অপসারণ করা হবে না - বা নিঃশর্তভাবে একটি ব্যতিক্রম নিক্ষেপ করার পরিবর্তে - কারণ মানুষ আসলে এগুলি ব্যবহার করে! সম্ভবত তারা ঝুঁকি বহন করতে ইচ্ছুক। সম্পত্তি পরিবর্তন শ্রোতাদের সাথে প্রশমিত করার একটি কারণ হ'ল এগুলি খুব কম ব্যবহার করা হয়েছিল, সুতরাং তাদের অপসারণের প্রভাবটি খুব কম।
স্টুয়ার্ট

2
@ হোলার কনসেপ্টালি java.beansস্বতন্ত্র হতে পারে java.desktopযেহেতু মটরশুটিগুলি সম্পত্তিগুলির জন্য একটি লাইব্রেরি এপিআই। দুর্ভাগ্যক্রমে আপনি শিমের API এ খনন করেন তবে এডাব্লুটি-র উপর প্রচুর নির্ভরতা রয়েছে। বাস্তবায়ন আরও আছে। অবশ্যই তাদের নিষ্কাশন করা সম্ভব হতে পারে, তবে এটি করা শিম থেকে লগিংকে ছত্রভঙ্গ করে বলার চেয়ে অনেক বেশি কাজ বলে মনে হচ্ছে। পুরো মডুলারাইজেশন প্রচেষ্টা এই বিভ্রান্তির বিষয়ে; নিঃসন্দেহে আরও কিছু করা যায়, তবে এরপরে জিগস আরও বেশি সময় নেয়।
স্টুয়ার্ট

-1

কেন এটি এখনও অবচয় করা হয়নি?

কারণ জিসিপি এটি করতে উপযুক্ত দেখেনি এবং এটি কখনও করতে পারে না। তাদেরকে জিজ্ঞেস করো. আপনি ভুল জায়গায় জিজ্ঞাসা করছেন।

জাভা এপিআইতে এই জিনিসটি রাখার পেছনের কারণগুলি

পিছনের সামঞ্জস্যতার প্রয়োজনীয়তার কারণে কেউ কখনও জাভা এপিআই থেকে কিছু সরিয়ে ফেলবে না। শেষবার যা ঘটেছিল তা ১৯৯ 1996/7-এ 1.0 এবং 1.1 এর মধ্যে এডাব্লুটি ইভেন্ট ইভেন্টের পরিবর্তন হয়েছিল।


17
তারা (কার্যকরভাবে) Thread.stop(Throwable)সর্বদা UnsupportedOperationExceptionকলারের (লক্ষ্য থ্রেডের দিকে নয় ) এর চুক্তিটি পরিবর্তন করে সরিয়ে ফেলল।
মার্কো টপলনিক

22
একই সময়ে কি ঘটেছিল? Thread.stop(Throwable)জাভা 8 তে এর কার্যকারিতা অপসারণ ঘটেছে 8 যাইহোক, "তাদের জিজ্ঞাসা করার" অযোগ্য পরামর্শ ভুল কারণ আজ প্রধান জাভা স্থপতি নিজে স্ট্যাক ওভারফ্লোতে সক্রিয় সদস্য। তিনি কেবল স্ট্রিমস সম্পর্কিত প্রশ্ন ছাড়া আর কিছু উত্তর দেওয়ার বিরক্ত করবেন না।
মার্কো টপলনিক

13
উপরন্তু, অপ প্রশ্ন সম্পর্কে নয় অপসারণ , প্রায় থামিয়ে দেওয়া , এবং পরিষ্কারভাবে থামিয়ে দেওয়া বরাবর সব ঘটছে হয়েছে।
মার্কো টপলনিক

17
@ ইজেপি আমি Cloneableজাভা এপিআই থেকে সরানো হবে কিনা তা জিজ্ঞাসা করছি না । আমি জিজ্ঞাসা করছি কেন এটি হতাশ হবে না। এবং আমি মনে করি এটি জিজ্ঞাসা করার জন্য একটি সঠিক জায়গা।
কাও

5
@ ওয়াহেহারটিউইন শোরগোলের জন্য ধন্যবাদ, তবে আমি জাভা স্থপতি নই। আমি ওরাকলের জেডিকে গ্রুপে একজন প্রকৌশলী, যা এই জিনিসগুলি রক্ষণাবেক্ষণ করে।
স্টুয়ার্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.