জাভার বৈশিষ্ট্য

জাভা প্রোগ্রামিং ভাষা তৈরির প্রাথমিক উদ্দেশ্য ছিল এটিকে বহনযোগ্য, সহজ এবং নিরাপদ প্রোগ্রামিং ভাষা করা। এছাড়াও, কিছু চমৎকার বৈশিষ্ট্য রয়েছে যা এই ভাষার জনপ্রিয়তায় গুরুত্বপূর্ণ ভূমিকা পালন করে। জাভার বৈশিষ্ট্যগুলি জাভা বাজওয়ার্ডস নামেও পরিচিত।

  1. সরল
  2. অবজেক্ট ওরিয়েন্টেড
  3. সুবহ
  4. স্বাধীন প্ল্যাটফর্ম
  5. সুরক্ষিত
  6. বলিষ্ঠ
  7. আর্কিটেকচার নিরপেক্ষ
  8. ব্যাখ্যা করেছেন
  9. উচ্চ কার্যকারিতা
  10. মাল্টিথ্রেডেড
  11. বিতরণ করা হয়েছে
  12. গতিশীল

সরল

জাভা শেখা খুব সহজ, এবং এর সিনট্যাক্স সহজ, পরিষ্কার এবং বোঝা সহজ। সান মাইক্রোসিস্টেম অনুসারে, জাভা ভাষা একটি সহজ প্রোগ্রামিং ভাষা কারণ:

  • জাভা সিনট্যাক্স C++ এর উপর ভিত্তি করে তৈরি করা হয়েছে (প্রোগ্রামারদের জন্য C++ এর পরে এটি শেখা সহজ)।
  • জাভা অনেক জটিল এবং খুব কমই ব্যবহৃত বৈশিষ্ট্যগুলি সরিয়ে দিয়েছে, উদাহরণস্বরূপ, স্পষ্ট পয়েন্টার, অপারেটর ওভারলোডিং ইত্যাদি।
  • জাভাতে একটি স্বয়ংক্রিয় আবর্জনা সংগ্রহ রয়েছে বলে রেফারেন্সবিহীন বস্তুগুলি সরানোর দরকার নেই।

অবজেক্ট ওরিয়েন্টেড

জাভা একটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা। জাভাতে সবকিছুই একটি অবজেক্ট। অবজেক্ট-ওরিয়েন্টেড মানে আমরা আমাদের সফ্টওয়্যারকে বিভিন্ন ধরণের অবজেক্টের সংমিশ্রণ হিসাবে সংগঠিত করি যা ডেটা এবং আচরণ উভয়ই অন্তর্ভুক্ত করে।

অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOPs) হল একটি পদ্ধতি যা কিছু নিয়ম প্রদান করে সফটওয়্যার উন্নয়ন এবং রক্ষণাবেক্ষণকে সহজ করে।

OOP-এর মৌলিক ধারণাগুলি হল:

  1. অবজেক্ট
  2. ক্লাস
  3. উত্তরাধিকার
  4. পলিমরফিজম
  5. বিমূর্ততা
  6. এনক্যাপসুলেশন

স্বাধীন প্ল্যাটফর্ম

জাভা প্ল্যাটফর্ম স্বাধীন কারণ এটি অন্যান্য ভাষা যেমন C, C++, ইত্যাদি থেকে আলাদা যা প্ল্যাটফর্ম নির্দিষ্ট মেশিনে কম্পাইল করা হয় যখন জাভা হল একবার লিখুন, যেকোনো জায়গায় রান করুন। একটি প্ল্যাটফর্ম হল হার্ডওয়্যার বা সফ্টওয়্যার পরিবেশ যেখানে একটি প্রোগ্রাম চলে।

সফ্টওয়্যার-ভিত্তিক এবং হার্ডওয়্যার-ভিত্তিক দুটি ধরণের প্ল্যাটফর্ম রয়েছে। জাভা একটি সফ্টওয়্যার-ভিত্তিক প্ল্যাটফর্ম প্রদান করে।

জাভা প্ল্যাটফর্ম অন্যান্য বেশিরভাগ প্ল্যাটফর্মের থেকে আলাদা এই অর্থে যে এটি একটি সফ্টওয়্যার-ভিত্তিক প্ল্যাটফর্ম যা অন্যান্য হার্ডওয়্যার-ভিত্তিক প্ল্যাটফর্মের উপরে চলে। এর দুটি উপাদান রয়েছে:

  1. রানটাইম পরিবেশ
  2. API (অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস)

জাভা কোড একাধিক প্ল্যাটফর্মে কার্যকর করা যেতে পারে, উদাহরণস্বরূপ, উইন্ডোজ, লিনাক্স, সান সোলারিস, ম্যাক/ওএস, ইত্যাদি। জাভা কোড কম্পাইলার দ্বারা সংকলিত হয় এবং বাইটকোডে রূপান্তরিত হয়। এই বাইটকোডটি একটি প্ল্যাটফর্ম-স্বাধীন কোড কারণ এটি একাধিক প্ল্যাটফর্মে চালানো যেতে পারে, যেমন, একবার লিখুন এবং যেকোনো জায়গায় চালান (WORA)।

সুরক্ষিত

জাভা তার নিরাপত্তার জন্য সবচেয়ে বেশি পরিচিত। জাভা দিয়ে, আমরা ভাইরাস-মুক্ত সিস্টেম তৈরি করতে পারি। জাভা সুরক্ষিত কারণ:

  1. কোন স্পষ্ট পয়েন্টার
  2. জাভা প্রোগ্রামগুলি একটি ভার্চুয়াল মেশিন স্যান্ডবক্সের ভিতরে চলে
  3. ক্লাসলোডার: জাভাতে ক্লাসলোডার হল জাভা রানটাইম এনভায়রনমেন্ট (জেআরই) এর একটি অংশ যা জাভা ভার্চুয়াল মেশিনে গতিশীলভাবে জাভা ক্লাস লোড করতে ব্যবহৃত হয়। এটি নেটওয়ার্ক উত্স থেকে আমদানি করা স্থানীয় ফাইল সিস্টেমের ক্লাসগুলির জন্য প্যাকেজকে আলাদা করে নিরাপত্তা যোগ করে।
  4. বাইটকোড যাচাইকারী: এটি অবৈধ কোডের জন্য কোড খণ্ডগুলি পরীক্ষা করে যা বস্তুগুলিতে অ্যাক্সেসের অধিকার লঙ্ঘন করতে পারে।
  5. নিরাপত্তা ব্যবস্থাপক: এটি নির্ধারণ করে যে কোন শ্রেণী কোন রিসোর্স অ্যাক্সেস করতে পারে যেমন স্থানীয় ডিস্কে পড়া এবং লেখা।

জাভা ভাষা ডিফল্টরূপে এই সিকিউরিটিগুলি প্রদান করে। SSL, JAAS, Cryptography, ইত্যাদির মাধ্যমেও কিছু নিরাপত্তা একটি অ্যাপ্লিকেশন ডেভেলপার স্পষ্টভাবে প্রদান করতে পারে।

বলিষ্ঠ

Robust এর ইংরেজি অর্থ শক্তিশালী। জাভা শক্তিশালী কারণ:

  • এটি শক্তিশালী মেমরি ব্যবস্থাপনা ব্যবহার করে।
  • পয়েন্টারের অভাব রয়েছে যা নিরাপত্তা সমস্যা এড়ায়।
  • জাভা স্বয়ংক্রিয় আবর্জনা সংগ্রহের ব্যবস্থা করে যা জাভা ভার্চুয়াল মেশিনে চলে এমন বস্তুগুলি থেকে পরিত্রাণ পেতে যা জাভা অ্যাপ্লিকেশন আর ব্যবহার করছে না।
  • জাভাতে ব্যতিক্রম হ্যান্ডলিং এবং টাইপ চেকিং মেকানিজম আছে। এই সমস্ত পয়েন্ট জাভাকে শক্তিশালী করে তোলে।

স্থাপত্য-নিরপেক্ষ

জাভা আর্কিটেকচার নিরপেক্ষ কারণ সেখানে কোনো বাস্তবায়ন নির্ভর বৈশিষ্ট্য নেই, উদাহরণস্বরূপ, আদিম প্রকারের আকার নির্দিষ্ট করা আছে।

সি প্রোগ্রামিং-এ, int ডেটা টাইপ 32-বিট আর্কিটেকচারের জন্য 2 বাইট মেমরি এবং 64-বিট আর্কিটেকচারের জন্য 4 বাইট মেমরি দখল করে। যাইহোক, এটি জাভাতে 32 এবং 64-বিট উভয় আর্কিটেকচারের জন্য 4 বাইট মেমরি দখল করে।

সুবহ

জাভা পোর্টেবল কারণ এটি আপনাকে জাভা বাইটকোডকে যেকোনো প্ল্যাটফর্মে বহন করতে সহায়তা করে। এটা কোন বাস্তবায়ন প্রয়োজন হয় না.

উচ্চ কার্যকারিতা

জাভা অন্যান্য প্রথাগত ব্যাখ্যা করা প্রোগ্রামিং ভাষার তুলনায় দ্রুত কারণ জাভা বাইটকোড নেটিভ কোডের “কাছে”। এটি এখনও একটি সংকলিত ভাষার তুলনায় একটু ধীরগতির (যেমন, C++)। জাভা একটি ব্যাখ্যা করা ভাষা যে কারণে এটি সংকলিত ভাষার চেয়ে ধীর, যেমন, C, C++, ইত্যাদি।

বিতরণ করা হয়েছে

জাভা বিতরণ করা হয় কারণ এটি ব্যবহারকারীদের জাভাতে বিতরণ করা অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে। বিতরণকৃত অ্যাপ্লিকেশন তৈরির জন্য RMI এবং EJB ব্যবহার করা হয়। জাভার এই বৈশিষ্ট্যটি আমাদের ইন্টারনেটে যেকোনো মেশিন থেকে মেথড কল করে ফাইল অ্যাক্সেস করতে সক্ষম করে।

মাল্টি-থ্রেডেড

একটি থ্রেড একটি পৃথক প্রোগ্রামের মত, একযোগে কার্যকর করা হয়। আমরা জাভা প্রোগ্রাম লিখতে পারি যেগুলি একাধিক থ্রেড সংজ্ঞায়িত করে একসাথে অনেকগুলি কাজ নিয়ে কাজ করে। মাল্টি-থ্রেডিংয়ের প্রধান সুবিধা হল এটি প্রতিটি থ্রেডের জন্য মেমরি দখল করে না। এটি একটি সাধারণ মেমরি এলাকা শেয়ার করে। থ্রেডগুলি মাল্টি-মিডিয়া, ওয়েব অ্যাপ্লিকেশন ইত্যাদির জন্য গুরুত্বপূর্ণ।

গতিশীল

জাভা একটি গতিশীল ভাষা। এটি ক্লাসের গতিশীল লোডিং সমর্থন করে। এর মানে ক্লাস চাহিদা অনুযায়ী লোড করা হয়। এটি তার স্থানীয় ভাষাগুলি যেমন, C এবং C++ থেকে ফাংশনগুলিকে সমর্থন করে।



Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top