জাভাpurely sheer accident-এ তৈরি হয়েছিল, একটি ডেভেলপার টিম সেট-টপ বক্স বানাতে ব্যস্ত ছিল, এবং C++ ক্লিন করতে শুরু করল। যখন তারা এই পরিবর্তনগুলো সমেটে নিচ্ছিল, তারা Java এবং এর রানটাইম এনভায়রনমেন্ট আবিষ্কার করল।
অনেকেই এটি জানতে পারেন, কিন্তু যারা না জানেন, Java এই ল্যাঙ্গুয়েজের জন্য মূল নামে নির্বাচিত নাম ছিল না। এটি ছিল 'Oak'। Sun Marketing System পরে নামটি পরিবর্তন করল যখন তারা বুঝল 'Oak' নামে একটি কোম্পানি আছে।
এটি বিশ্বব্যাপী ব্যাপকভাবে ব্যবহৃত একটি ল্যাঙ্গুয়েজ, এবং ডেভেলপার গ্রুপের মধ্যে পছন্দনীয় মाना হয়, এবং সার্ভে করার অধিকাংশ সময় এটি দ্বিতীয় সবচেয়ে জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ।
৩ বিলিয়ন ফোন এবং এখনো বড়ছে এমন মোবাইল ফোন আছে যা জাভা ব্যবহার করে তৈরি করা একটি প্ল্যাটফর্মের সাহায্যে চলছে।
সর্বকালের সবচেয়ে জনপ্রিয় গেম, 'Minecraft' জাভাতে লেখা হয়েছিল। Notch, 'Minecraft'-এর সৃষ্টিকর্তা, গেমটি জাভাতে লিখেছিলেন, যা পরবর্তীতে Microsoft দ্বারা অধিগ্রহণ করা হয়, এবং গেমের একটি নতুন ভার্সন C++-এ রিলিজ করা হয়।
'final' কিওয়ার্ড ক্লাস, ভেরিয়েবল, মেথড এবং ফিল্ডের সাথে ব্যবহার করা যায়। এইভাবে, সকল অ্যাট্রিবিউট অপরিবর্তনশীল হয়ে যায়, অর্থাৎ একটি ফাইনাল ক্লাস এক্সটেন্ড করা যাবে না, একটি ফাইনাল ভেরিয়েবল পরিবর্তন করা যাবে না, একটি ফাইনাল মেথড ওভাররাইড করা যাবে না, এবং একটি ফাইনাল ফিল্ড একটি কনস্ট্যান্ট।
জাভার দুটি দিক আছে যা এটিকে ডাইনামিক করে তোলে, জাভা ইনস্ট্রুমেন্টেশন এবং জাভা রিফ্লেকশন। জাভা ইনস্ট্রুমেন্টেশন প্রি-কম্পাইল্ড ক্লাস মডিফাই করতে সাহায্য করে, যদি কোড রানটাইমে পরিবর্তন করার প্রয়োজন হয়। জাভা রিফ্লেকশন নির্দিষ্ট ক্লাসের প্রাইভেট ভেরিয়েবল দেখতে সাহায্য করে।
C++ ব্যবহার করার সময়, আমাদের অনেকে পয়েন্টার কনসেপ্ট এবং কীভাবে সেগুলো কাজ করে সেটি নিয়ে হ্রাস এবং বিভ্রান্ত হয়ে যেতাম। সৌভাগ্যবশত, জাভায় পয়েন্টার কনসেপ্ট নেই, যেহেতু সৃষ্টিকর্তারা মনে করলেন পয়েন্টার যোগ করলে ল্যাঙ্গুয়েজের রোবাস্টনেস বাধা পাবে।