আমি নিম্নলিখিত জাভা ক্লাস আছে
public class HelloWorld {
public static void main(String []args) {
}
}
আমি যখন এই ফাইলটি সংকলন করি এবং ফলাফল প্রাপ্ত ক্লাস ফাইলটিতে একটি sha256 চালাই
9c8d09e27ea78319ddb85fcf4f8085aa7762b0ab36dc5ba5fd000dccb63960ff HelloWorld.class
পরবর্তী আমি ক্লাসটি সংশোধন করেছি এবং এর মতো একটি ফাঁকা রেখা যুক্ত করেছি:
public class HelloWorld {
public static void main(String []args) {
}
}
আবার আমি একই ফলাফল পাওয়ার আশা করে আউটপুটটিতে একটি sha256 চালিয়েছিলাম তবে পরিবর্তে আমি পেয়েছি
11f7ad3ad03eb9e0bb7bfa3b97bbe0f17d31194d8d92cc683cfbd7852e2d189f HelloWorld.class
আমি এই টিউটোরিয়ালপয়েন্ট নিবন্ধে পড়েছি যে:
সম্ভবত একটি মন্তব্য সহ কেবলমাত্র সাদা স্থানযুক্ত একটি লাইন একটি ফাঁকা রেখা হিসাবে পরিচিত, এবং জাভা একে একে একে একে উপেক্ষা করে।
সুতরাং আমার প্রশ্নটি হল যেহেতু জাভা ফাঁকা রেখা উপেক্ষা করে কেন উভয় প্রোগ্রামের জন্যই সংকলিত বাইকোড আলাদা?
যাহোক HelloWorld.class
একটি 0x03
বাইটের মধ্যে পার্থক্য একটি বাইট দ্বারা প্রতিস্থাপিত হয় 0x04
।
Set
অভ্যন্তরীণভাবে র্যান্ডমাইজেশন সহ নতুন অপরিবর্তনীয় গুলি ব্যবহার করে তবে এটি প্রতিটি রানের ক্ষেত্রে একটি পৃথক ক্রম উত্পাদন করতে পারে। এটি সংকলন-সময়যুক্ত একটি কাস্টম বৈশিষ্ট্য যুক্ত করতে পারে। এবং আরও…