তারা কী বলছে তা আপনার সহকর্মীর কোনও ধারণা নেই।
আপনার সবচেয়ে ব্যয়বহুল অপারেশনটি তাদের শুনবে । তারা আপনার সময়কে নষ্ট করে এমন তথ্যের দিকে আপনাকে ভুল নির্দেশনা দেয় যা এক দশকেরও বেশি সময় পরে (এই উত্তরটি পোস্ট করার মূল তারিখ অনুসারে) পাশাপাশি আপনাকে এখানে পোস্ট করতে এবং সত্যের জন্য ইন্টারনেটে গবেষণা করতে ব্যয় করতে হয়েছিল।
আশা করি তারা এক দশকেরও বেশি সময় আগে শুনে শুনে বা পড়ে এমন কিছুকে অজ্ঞতার সাথে পুনর্গঠন করছেন এবং এর থেকে ভাল আর জানেন না। তারা সন্দেহজনক হিসাবে অন্য কিছু বলে আমি নেব, এটি যে কোনওভাবেই আপ টু ডেট রাখে এমন কোনও ব্যক্তির দ্বারা এটি একটি সুস্পষ্ট মিথ্যা কথা হওয়া উচিত।
সবকিছুই একটি অবজেক্ট (ব্যতীত primitives
)
আদিমগুলি ( int, long, double
, ইত্যাদি) ব্যতীত অন্য সমস্ত কিছুই জাভাতে অবজেক্ট। জাভাতে অবজেক্ট সৃষ্টি এড়ানোর কোনও উপায় নেই।
জাভাতে মেমরি বরাদ্দ কৌশলগুলির কারণে অবজেক্ট তৈরি বেশিরভাগ ক্ষেত্রে সি ++ এর চেয়ে দ্রুত এবং জেভিএমের সমস্ত কিছুর তুলনায় সমস্ত ব্যবহারিক উদ্দেশ্যে "মুক্ত" হিসাবে বিবেচনা করা যেতে পারে ।
1990 এর দশকের শেষের দিকে যেমন 2000 এর দশকের গোড়ার দিকে জেভিএম বাস্তবায়নগুলি বস্তুর আসল বরাদ্দে কিছু কার্য সম্পাদন করেছিল। এটি কমপক্ষে ২০০৫ সাল থেকে হয়নি।
আপনি সুর যদি -Xms
সব স্মৃতি আপনি আপনার আবেদন সঠিকভাবে চালানোর জন্য প্রয়োজন সমর্থন করার জন্য, জিসি চালানো এবং আধুনিক জিসি বাস্তবায়নের আবর্জনা অধিকাংশ কুড়ান, সংক্ষিপ্ত বাস করত প্রোগ্রাম কখনোই জিসি এ সব may করতে হবে না হতে পারে।
এটি খালি জায়গার চেষ্টা করে এবং সর্বাধিক করে তোলে না, এটি যাইহোক একটি লাল রঙের হেরিং, এটি রানটাইমের কার্যকারিতা সর্বাধিক করে তোলে। যদি এর অর্থ জেভিএম হিপগুলি প্রায় সবসময় 100% বরাদ্দ থাকে, তবে তা হয়ে উঠুন। ফ্রি জেভিএম হিপ মেমরি আপনাকে যাইহোক সেখানে বসে কেবল কিছু দেয় না।
একটি ভুল ধারণা রয়েছে যে জিসি দরকারী পদ্ধতিতে সিস্টেমের বাকী অংশগুলিতে মেমরি ফিরিয়ে দেবে, এটি সম্পূর্ণ মিথ্যা!
জেভিএম হিপগুলি বৃদ্ধি এবং সঙ্কুচিত হয় না যাতে জেভিএম হিপের বাকী সিস্টেমটি ফ্রি মেমরির দ্বারা ইতিবাচকভাবে প্রভাবিত হয় । -Xms
শুরুতে যা নির্দিষ্ট করা হয়েছে তার সবই বরাদ্দ করে দেয় এবং এর তাত্পর্যপূর্ণ যা জেভিএম এর উদাহরণটি পুরোপুরি ছাড়ার আগ পর্যন্ত অন্য কোনও ওএস প্রসেসের সাথে ভাগ করে নেওয়ার জন্য সেই মেমরিটির কোনওটিই ওএস-এ ফিরে আসবে না। -Xms=1GB -Xmx=1GB
প্রকৃত যে কোনও সময়ে আসলে কতগুলি অবজেক্ট তৈরি করা যায় তা বিবেচনা না করে 1 জিবি র্যাম বরাদ্দ করে। কিছু সেটিংস রয়েছে যা হিপ মেমরির শতাংশকে প্রকাশের অনুমতি দেয় তবে সমস্ত ব্যবহারিক উদ্দেশ্যে জেভিএম কখনও কখনও এই মেমরির যথেষ্ট পরিমাণে প্রকাশ করতে সক্ষম হয় নাসুতরাং অন্য কোনও প্রক্রিয়া এই মেমোরিটিকে পুনরায় দাবি করতে পারে না, সুতরাং JVM হিপটি ফ্রি হয়ে যাওয়ার ফলে সিস্টেমের বাকি অংশগুলি উপকৃত হয় না। এর জন্য একটি আরএফই 29-NOV-2006 "স্বীকৃত" হয়েছিল তবে এটি সম্পর্কে এখনও কিছুই করা হয়নি। এটি আচরণ কর্তৃপক্ষের যে কেউ উদ্বেগ হিসাবে বিবেচিত হয় না।
একটি ভুল ধারণা রয়েছে যে অনেক ছোট ছোট জীবিত অবজেক্ট তৈরি করা জেভিএমকে দীর্ঘ সময়ের জন্য বিরতি দেয়, এটি এখন মিথ্যাও is
বর্তমান জিসি অ্যালগরিদমগুলি আসলে অনেকগুলি ছোট ছোট বস্তু তৈরি করার জন্য অনুকূলিত হয় যা স্বল্পস্থায়ী হয়, যা প্রতিটি প্রোগ্রামে জাভা অবজেক্টের জন্য মূলত 99% হিউরিস্টিক। অবজেক্ট পুলিংয়ের প্রচেষ্টা আসলে বেশিরভাগ ক্ষেত্রে জেভিএমকে আরও খারাপ সম্পাদন করে।
আজ কেবলমাত্র অবজেক্টগুলির জন্য যেগুলি পুলিংয়ের প্রয়োজন তা হ'ল অবজেক্টস যা জেভিএমের বাহ্যিক সীমাবদ্ধ সংস্থানগুলিকে বোঝায় ; সকেট, ফাইলস, ডেটাবেস সংযোগ ইত্যাদি এবং আবার ব্যবহার করা যেতে পারে। নিয়মিত অবজেক্টগুলিকে সেই ভাষাগুলিতে একইভাবে চালিত করা যায় না যা আপনাকে মেমরির অবস্থানগুলিতে সরাসরি অ্যাক্সেস করতে দেয়। অবজেক্ট ক্যাচিং হ'ল আলাদা ধারণা এবং কিছু লোক নির্দ্বিধায় পুলিং বলে বা নাও পারে , দুটি ধারণা একই জিনিস নয় এবং একে অপ্রকাশিত হওয়া উচিত নয়।
আধুনিক জিসি অ্যালগরিদমগুলির এই সমস্যাটি নেই কারণ তারা একটি সময়সূচীতে ডিএলোকট করে না, নির্দিষ্ট প্রজন্মের মধ্যে যখন ফ্রি মেমরির প্রয়োজন হয় তখন তারা ডিলোকোট করে। গাদা যদি যথেষ্ট পরিমাণে বড় হয়, তবে কোনও বিরাম ঘটাতে কোনও দীর্ঘস্থায়ী ঘটনা ঘটতে পারে না।
অবজেক্ট ওরিয়েন্টেড ডায়নামিক ভাষাগুলি গন সংবেদনশীল পরীক্ষায় আজকাল সি মারছে।