• تهرانپارس ، خ شهید محمود آمینه بزرگراه رسالت، پلاک 213، طبقه2، واحد7

  • 021-77295097 0912-8099518

  • شنبه تا پنجشنبه۹ صبح تا ۶ بعد از ظهر

ویژگی های زبان جاوا

اهداف اولیه تولید زبان برنامه نویسی جاوا قابل حمل بودن، ساده بودن و امنیت آن بود. علاوه بر این ویژگی های ممتاز دیگری وجود دارد که باعث محبوبیت این زبان شده است. ویژگی های جاوا را buzzword نیز می نامند.

آموزش java

لیستی از مهمترین ویژگی های جاوا در پایین آورده شده است:

  • راحتی

یادگیری جاوا بسیار آسان است. قوانین نحوی یا اصطلاحا syntax آن راحت، واضح و قابل فهم است. طبق گفته شرکت Sun زبان جاوا یک زبان راحت است زیرا :

  • Syntax جاوا بر پایه C++ است (بنابراین برای برنامه نویسانی که قبلا با C++ کرده اند بسیار راحت است.)
  • جاوا بسیاری از ویژگی های پیچیده و بی مصرف را حذف کرده است. برای مثال سربارگذاری عملگرها.
  • هیچ نیازی به حذف شی های بدون مرجع نیست زیرا Garbage Collection در جاوا به صورت خودکار این کار را انجام می دهد.

  • شی گرایی (Object-Oriented)

جاوا یک زبان برنامه نویسی شی گرا است. هرچیزی در جاوا یک شی است. شی گرایی به این معنا است که ما نرم افزار خود را به صورت ترکیبی از اشیای مختلفی بسازیم که هرکدام اطلاعات و رفتار منحصر به خود را دارا هستند.

برنامه نویسی شی گرا (OOP) یک متد است که توسعه نرم افزار و نگهداری آن را با ایجاد یک سری قوانین ساده می کند.

مفاهیم پایه شی گرایی به صورت زیرا ست:

  • شی
  • کلاس
  • وراثت
  • چندریختی
  • انتزاعی سازی
  • کپسوله سازی
  • قابل حمل بودن (Portable)

جاوا قابل حمل است است زیرا شما می توانید کد بایتی جاوا را به هر ماشینی منتقل کنید و آن را در هر ماشینی اجرا کنید. این جابجایی نیاز به هیچ گونه تنظیماتی ندارد.

  • مستقل از پلتفرم (Platform independent)

جاوا مستقل از پلتفرم است زیرا این زبان با زبان های دیگر مانند C و C++که در ماشین های وابسته به پلتفرم کامپایل می شوند، متفاوت است و شعار آن "یک بار بنویس، همه جا اجرا کن" است. یک پلتفرم سخت افزار یا نرم افزاری است که برنامه روی آن اجرا می شود.

به طور کلی دو نوع پلتفرم وجود دارد: بر پایه نرم افزار و بر پایه سخت افزار.

پلتفرم جاوا با بیشتر پلتفرم های موجود متفاوت است. پلتفرم جاوا یک پلتفرم بر پایه نرم افزار است که روی پلتفرمی بر پایه سخت افزار اجرا می شود. این پلتفرم دو جزء دارد:

  • محیط زمان اجرا (Runtime Environment)
  • API یا رابط برنامه نویسی کاربردی (Application Programming Interface)

جاوا بر روی چندین پلتفرم قابل اجرا است برای مثال ویندوز، لینوکس،  سولاریس، مکینتاش و غیره. کدهای جاوا توسط کامپایلر به کدهای بایتی تبدیل می شود. این کدهای بایتی کدهایی مستقل از پلتفرم هستند زیرا می توانند در پلتفرم های مختلف اجرا شوند.

آموزش java

  • امنیت بالا

جاوا به خاطر امنیتش بسیار شناخته شده است. به کمک جاوا می توانیم سیستم های بدون ویروس بسازیم. جاوا ایمن است زیرا:

  • عدم وجود اشاره گر های صریح (No explicit pointers)
  • جاوا در داخل یک خاکریز (sandbox) ماشین مجازی اجرا می شود.
  • classloader : classloader بخشی از محیط اجرای جاوا (JRE) است که برای بارگذاری کلاس های جاوا به صورت پویا در ماشین مجازی جاوا مورد استفاده قرار می گیرد. جاوا با جداسازی پکیج های کلاس موجود در سیستم محلی با پکیج هایی که از شبکه وارد سیستم می شوند، امنیت را برقرار می سازد.
  • Bytecode Verifier : این ممیز قطعات کد را به منظور یافتن کدهای غیرقانونی که می تواند حقوق دسترسی به اشیا را دستکاری کند، بررسی می کند.
  • security manager : این قسمت مشخص می کند که یک کلاس به چه منابعی می تواند دسترسی داشته باشد مانند نوشتن و خواندن از حافظه ی محلی.

زبان جاوا این ابزارهای امنیت را به صورت پیش فرض فراهم می کند. بعضی از موارد امنیتی نیز می تواند توسط برنامه نویس به صورت ضمنی توسط SSL ، JAAS ، رمزنگاری و غیره اضافه شود.

  • قدرتمندی

جاوا قوی و قدرتمند است زیرا :

  • جاوا مدیریت حافظه ی بسیار قوی دارد.
  • عدم وجود اشاره گر ها باعث رفع مشکلات امنیتی شده است.
  • وجود یک garbage collection باعث می شود اشیایی که از آنها هیچ استفاده ای نشده است در ماشین مجازی حذف شوند.
  • در جاوا سیستم مدیریت خطا (exception handling) و مکانیزم بررسی نوع متغیر (type checking) وجود دارد. همه این موارد جاوا را به یک زبان قدرتمند تبدیل کرده است.
  • مستقل از معماری دستگاه (Architecture-neutral)

جاوا از معماری دستگاه مستقل است زیرا هیچ ویژگی در آن وجود ندارد که به پیاده سازی وابسته باشد. به عنوان مثال اندازه متغیرهای اصلی آن ثابت است.

در برنامه نویسی C ، متغیر نوع int در سستم های 64 بیتی 4 بایت و در سیستم های 32 بیتی 2 بایت است. در حالی که در زبان جاوا int 4 بایتی و مستقل از معماری سیستم است.

آموزش جاوا
  • کارایی بالا (High-performance)

جاوا از همه ی زبان های برنامه نویسی تفسیری و سنتی سریع تر است زیرا کد بایتی جاوا به کد اصلی جاوا (native code) بسیار نزدیک است. ولی نسبت به زبان های کامپایلی مانند C++ کمی کندتر عمل می کند. جاوا یک زبان تفسیری است و به همین دلیل از زبان های کامپایلی مانند C++ کندتر است.

  • چندنخی یا multi-thread

یک نخ (thread) مانند یک برنامه جدا است که به صورت هم زمان اجرا می شود. ما می توانیم با جاوا برنام هایی بنویسیم که با توصیف چند نخ، به طور همزمان چندین task را اجرا کند. فایده اصلی چندنخی این است که برای هر نخ حافظه را اشغال نمی کند بلکه یک فضای مشخص از حافظه را بین نخ ها به اشتراک می گذارد. ویژگی چند نخی بودن برای برنامه نویسی چندرسانه ای و برنامه نویسی وب بسیار مهم است.

  • توزیع شده (Distributed)

جاوا به برنامه نویسان این امکان را می دهد تا بتوانند برنامه های توزیع شده بنویسند.RMI و EJB برای تولید نرم افزارهای توزیع شده مورد استفاده قرار می گیرند. این ویژگی ما را قادر می سازد به فایل ها یا متدها در دیگر ماشین ها دسترسی داشته باشیم.

  • پویایی (Dynamic)

جاوا یک زبان پویا است زیرا بارگذاری کلاس ها به صورت پویا را پشتیبانی می کند. این به این معنی است که کلاس ها بر اساس درخواست بارگذاری می شوند. همچنین جاوا از توابع زبان های مادری خود که C و C++ هستند پشتیبانی می کند. جاوا همچنین کامپایل و مدیریت حافظه را به صورت خودکار دارد.