জাভা কোড নির্ণয়: আপনার জাভা কোড ( Alt ) এর পারফরম্যান্স উন্নতি করে JVM লেজ-কল অপ্টিমাইজেশন সমর্থন করে না কেন তা ব্যাখ্যা করে।
তবে এটি একটি লেল-रिकर्सিভ ফাংশনটিকে কীভাবে একটি সাধারণ লুপে স্বয়ংক্রিয়ভাবে রূপান্তর করা যায় তা ভালভাবে জানা থাকলেও জাভা স্পেসিফিকেশনের জন্য এই রূপান্তরটি করা দরকার হয় না। সম্ভবত, এটির প্রয়োজন না হওয়ার একটি কারণ হ'ল সাধারণভাবে, কোনও বস্তু-কেন্দ্রিক ভাষায় রূপান্তরটি স্থিতিশীলভাবে তৈরি করা যায় না। পরিবর্তে, লেল-রিকার্স ফাংশন থেকে সাধারণ লুপে রূপান্তরটি একটি জেআইটি সংকলক দ্বারা গতিশীলভাবে করতে হবে।
এটি তখন জাভা কোডের একটি উদাহরণ দেয় যা রূপান্তরিত হয় না।
সুতরাং, তালিকা 3 শোয়ের উদাহরণ হিসাবে, আমরা স্থির সংকলকরা জাভা কোডে লেজ পুনরাবৃত্তির রূপান্তর সম্পাদন করতে পারি না এবং ভাষার শব্দার্থিক শব্দ সংরক্ষণ করে। পরিবর্তে, আমাদের অবশ্যই জেআইটি দ্বারা গতিশীল সংকলনের উপর নির্ভর করতে হবে। জেভিএমের উপর নির্ভর করে জেআইটি এটি করতে পারে বা নাও পারে।
তারপরে এটি একটি পরীক্ষা দেয় যা আপনি আপনার জেআইটি এটি করে কিনা তা নির্ধারণের জন্য ব্যবহার করতে পারেন।
স্বাভাবিকভাবেই, যেহেতু এটি একটি আইবিএম কাগজ তাই এটিতে একটি প্লাগ অন্তর্ভুক্ত রয়েছে:
আমি জাভা এসডিকে দু'একটি নিয়ে এই প্রোগ্রামটি চালিয়েছি, এবং ফলাফলগুলি অবাক করে দিয়েছে। সংস্করণ ১.৩-র জন্য সান হটস্পট জেভিএম-এ চালনা প্রকাশ করে যে হটস্পট রূপান্তর সম্পাদন করে না। ডিফল্ট সেটিংসে, স্ট্যাকের জায়গাটি আমার মেশিনে এক সেকেন্ডেরও কম সময়ে শেষ হয়ে গেছে। অন্যদিকে, আইবিএম এর জেভিএম সংস্করণ 1.3 পুরের জন্য কোনও সমস্যা ছাড়াই ইঙ্গিত করে যে এটি কোডটি এইভাবে রূপান্তরিত করে।