জাভাতে, আপনি ভুলভাবে সিঙ্ক্রোনাইজড প্রোগ্রামের আচরণটি অপরিজ্ঞাতভাবে বিবেচনা করতে পারেন।
জাভা 7 জেএলএস 17.4.8 এ একবার " অপরিজ্ঞাত " শব্দটি ব্যবহার করে । ফাঁসি এবং কার্যকারিতা প্রয়োজনীয়তা :
আমরা ব্যবহার f|d
ফাংশনের ডোমেইন সীমাবদ্ধ কর্তৃক প্রদত্ত বোঝাতে f
করতে d
। সব জন্য x
মধ্যে d
, f|d(x) = f(x)
এবং সমস্ত জন্য x
নেই d
, f|d(x)
হয় অনির্দিষ্ট ...
জাভা এপিআই ডকুমেন্টেশন কিছু ক্ষেত্রে সুনির্দিষ্ট করে যখন ফলাফলগুলি অপরিজ্ঞাত হয় - উদাহরণস্বরূপ, (অবচয়িত) কনস্ট্রাক্টরের তারিখ (পূর্ববর্তী বছরের, মাসের শেষ দিন) :
যদি কোনও প্রদত্ত যুক্তি সীমা ছাড়িয়ে যায় তবে ফলাফলটি অনির্ধারিত ...
এক্সিকিউটর সার্ভিস.in.ভোকেএল (সংগ্রহ) রাষ্ট্রের জন্য জাভাডোকস :
এই ক্রিয়াকলাপটি চলমান অবস্থায় যদি প্রদত্ত সংগ্রহটি সংশোধিত হয় তবে এই পদ্ধতির ফলাফলগুলি অপরিজ্ঞাত করা হয়েছে ...
কম আনুষ্ঠানিক ধরণের "অপরিজ্ঞাত" আচরণটি উদাহরণস্বরূপ কনকন্টারমোডিফিকেশন এক্সেপশনে পাওয়া যায় , যেখানে এপিআই ডক্সটি "সেরা প্রচেষ্টা" শব্দটি ব্যবহার করে:
নোট করুন যে ব্যর্থ-দ্রুততম আচরণের গ্যারান্টি দেওয়া যায় না, যেমনটি সাধারণভাবে বলা যায়, অযৌক্তিক সমান্তরাল পরিবর্তনের উপস্থিতিতে কোনও কঠোর গ্যারান্টি দেওয়া অসম্ভব। ব্যর্থ-দ্রুত ক্রিয়াকলাপগুলি সেরা-প্রচেষ্টা ভিত্তিতে ফেলে ConcurrentModificationException
দেয় । সুতরাং, কোনও প্রোগ্রাম লিখতে ভুল হবে যা তার সংশোধনের জন্য এই ব্যতিক্রমটির উপর নির্ভরশীল ...
উপাঙ্গ
প্রশ্নের একটি মন্তব্য এরিক লিপার্টের একটি নিবন্ধকে বোঝায় যা বিষয় সম্পর্কিত বিষয়ে সহায়ক ভূমিকা সরবরাহ করে: বাস্তবায়ন-সংজ্ঞায়িত আচরণ ।
আমি এই নিবন্ধটি ভাষা-অজ্ঞাত যুক্তির জন্য প্রস্তাব দিই, যদিও লেখক জাভা নয়, সি # কে টার্গেট করে তা মনে রাখা ভাল।
Ditionতিহ্যগতভাবে আমরা বলি যে একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ আইডিয়মের সাথে সংজ্ঞায়িত আচরণ করা হয় যদি সেই প্রথাটির ব্যবহারের ফলে কোনও প্রভাব থাকতে পারে; এটি আপনার প্রত্যাশা অনুযায়ী কাজ করতে পারে বা এটি আপনার হার্ড ডিস্কটি মুছে ফেলতে পারে বা আপনার মেশিন ক্রাশ করতে পারে। তদুপরি, সংকলক লেখকের অপরিজ্ঞাত আচরণ সম্পর্কে আপনাকে সতর্ক করার কোনও বাধ্যবাধকতা নেই। (এবং প্রকৃতপক্ষে, কিছু ভাষা রয়েছে যেখানে প্রোগ্রামগুলি "অপরিজ্ঞাত আচরণ" আইডিয়ামগুলি ব্যবহার করে সংকলক ক্র্যাশ করার জন্য ভাষা নির্দিষ্টকরণের দ্বারা অনুমোদিত!) ...
বিপরীতে, একটি রূপকথায় বাস্তবায়ন-সংজ্ঞায়িত আচরণ এমন আচরণ যা সংকলক লেখকের বৈশিষ্ট্যটি কীভাবে প্রয়োগ করা যায় সে সম্পর্কে বিভিন্ন ধরণের পছন্দ রয়েছে এবং অবশ্যই একটি বেছে নিতে হবে। নামটি থেকে বোঝা যায়, বাস্তবায়ন-সংজ্ঞায়িত আচরণটি কমপক্ষে সংজ্ঞায়িত। উদাহরণস্বরূপ, সি # কোনও ব্যতিক্রম ছুঁড়ে ফেলার জন্য কোনও প্রয়োগের অনুমতি দেয় বা একটি পূর্ণ মানের যখন উত্পাদন পূর্ণসংখ্যার বিভাগে প্রবাহিত হয়, কিন্তু বাস্তবায়ন অবশ্যই এটি বেছে নিতে পারে। এটি আপনার হার্ড ডিস্কটি মুছতে পারে না ...
একটি ভাষা নকশা কমিটি নির্দিষ্ট ভাষা প্রতিমাটিকে অপরিজ্ঞাত বা বাস্তবায়ন-সংজ্ঞায়িত আচরণ হিসাবে ছেড়ে দেওয়ার জন্য নেতৃত্বদানকারী কয়েকটি কারণগুলি কী কী?
প্রথম প্রধান ফ্যাক্টরটি হ'ল: বাজারে ভাষার দুটি বিদ্যমান বাস্তবায়ন রয়েছে যা একটি বিশেষ প্রোগ্রামের আচরণের সাথে একমত নয়? ...
পরবর্তী প্রধান কারণটি হ'ল: বৈশিষ্ট্যটি কি প্রাকৃতিকভাবে বাস্তবায়নের জন্য বিভিন্ন সম্ভাবনা উপস্থাপন করে, যার কয়েকটি পরিষ্কারভাবে অন্যদের চেয়ে ভাল? ...
তৃতীয় উপাদানটি হ'ল: বৈশিষ্ট্যটি কী এত জটিল যে এর সঠিক আচরণের বিশদ ভাঙ্গন নির্দিষ্ট করা কঠিন বা ব্যয়বহুল হবে? ...
চতুর্থ ফ্যাক্টরটি হ'ল: বৈশিষ্ট্যটি বিশ্লেষণ করার জন্য সংকলকটির উপর একটি উচ্চ বোঝা চাপায়? ...
পঞ্চম ফ্যাক্টরটি হ'ল: বৈশিষ্ট্যটি রানটাইম পরিবেশের উপর একটি উচ্চ বোঝা চাপায়? ...
ষষ্ঠ ফ্যাক্টরটি হ'ল: আচরণকে সংজ্ঞায়িত করা কিছু বড় অপ্টিমাইজেশনকে আবদ্ধ করে দেয়? ...
এগুলি কেবল কয়েকটি কারণ যা মনে আসে; ভাষা নকশা কমিটিগুলি একটি বৈশিষ্ট্য "বাস্তবায়ন সংজ্ঞায়িত" বা "অপরিজ্ঞাত" করার আগে বিতর্ক করে অবশ্যই অনেকগুলি রয়েছে।
উপরে কেবল একটি খুব সংক্ষিপ্ত কভারেজ; পুরো নিবন্ধে এই অংশে উল্লিখিত পয়েন্টগুলির জন্য ব্যাখ্যা এবং উদাহরণ রয়েছে; এটি পড়ার পক্ষে অনেক মূল্যবান। উদাহরণস্বরূপ, "ষষ্ঠ ফ্যাক্টর" এর জন্য প্রদত্ত বিবরণ জাভা মেমোরি মডেল ( জেএসআর 133 ) এর অনেক বক্তব্যের জন্য অনুপ্রেরণার মধ্যে অন্তর্দৃষ্টি দিতে পারে, কিছু অপ্টিমাইজেশান কেন অনুমোদিত তা বুঝতে সাহায্য করে, অন্যদের নিষিদ্ধ করা হয় এবং অন্যরা নিষিদ্ধ হয়, যার ফলে ঘটনার আগে এবং কার্যকারিতা প্রয়োজনীয়তার মতো সীমাবদ্ধতা ।
নিবন্ধের সামগ্রীগুলির কোনওটিই আমার কাছে বিশেষভাবে নতুন নয় তবে আমি যদি কখনও এটিকে এটিকে মার্জিত, বিবেচ্য ও বোধগম্য উপায়ে উপস্থাপন করতে দেখি তবে আমাকে তিরস্কার করা হবে। অ্যামেজিং।