مشخصات مقاله
-
1692
-
0.0
-
5055
-
0
-
0
آموزش Java – امکانات و قابلیت های Java
آموزش Java – امکانات و قابلیت های Java
آموزش Java امکانات و قابلیت های متعددی دارد که در زیر به آن ها اشاره می کنیم:

- ساده
- شی گرا
- قابل حمل و اجرا بر روی محیط های مختلف (portable)
- مستقل از بستر اجرا (Platform independent)
- امن و قابل اعتماد
- کارا و قدرتمند
- قابل اجرا به صورت یکسان در محیط های مختلف (Architecture neutral)
- داینامیک و دارای قابلیت تفسیر کد بر اساس دستگاه میزبان در زمان اجرا
- تفسیری (interpreted)
- کارایی بالا
- دارای قابلیت پردازش موازی (multithreaded)
- Distributed (قابل استفاده برای تولید اپلیکیشن های توزیع شده و بزرگ)
سادگی زبان جاوا
از آنجایی که گرامر زبان Java مبتنی بر C++ است، آن دسته از برنامه نویسانی که قبلا با C++ کار کرده اند به راحتی می توانند Java را نیز یاد بگیرند. همچنین بسیاری از قابلیت هایی که کم استفاده می شوند یا در کد سردرگمی ایجاد می کنند نظیر explicit pointer ها (اشاره گرهای صریح)، سربارگذاری عملگرها (operator overloading) را حذف کرده است. این زبان با برخورداری از قابلیت مدیریت خودکار حافظه (garbage collection) می تواند آبجکت های بلا استفاده را از حافظه حذف کند.
استفاده از تکنیک برنامه نویسی شی گرا (OOP)
منظور از شی گرایی، سازمان دهی نرم افزار مورد نظر در قالب ترکیبی از انواع آبجکت است که علاوه بر داده های برنامه، رفتار و قابلیت های مختلف آن را در خود کپسوله می کند.
برنامه نویسی شی گرا یا OOP در واقع یک تکنیک برنامه نویسی است که با رعایت کردن یک سری قوانین، توسعه ی نرم افزار و نگهداشت آن را ساده می سازد.
مفاهیم و اصول OOP به شرح زیر می باشند:
- Object
- Class
- Inheritance یا وراثت
- polymorphism یا چندریختی
- Abstraction (انتزاع)
- Encapsulation (کپسوله یا مخفی سازی)
مستقل از بستر اجرا (Platform independent)

بستر اجرا یا platform عبارت است از محیط سخت افزاری و نرم افزاری که برنامه در آن اجرا می شود. platform به دو بخش تقسیم می شود: 1. مبتنی بر نرم افزار 2. مبتنی بر سخت افزار. Java با بستر اجرای نرم افزاری سروکار دارد.
گفتنی است که پلت فرم جاوا با سایر پلت فرم ها تفاوت دارد از این نظر که یک بستر اجرای نرم افزاری است که بر پایه ی سایر پلت فرم های مبتنی بر سخت افزار ساخته شده است و بر روی آن ها اجرا می شود. Java از دو کامپوننت تشکیل شده است:
- محیط اجرا (Runtime Environment)
- API (توابع کتابخانه ای یا Application programming interface)
جالب است بدانید که کد جاوا بر روی چندین محیط قابل اجرا می باشد که از جمله ی آن ها می توان به ویندوز، لینوکس، سلاریس و مک اشاره کرد. کد جاوا را ابتدا کامپایلر ترجمه کرده و به bytecode که یک زبان میانی است تبدیل می کند. Bytecode یک کد مستقل از پلت فرم است که بر روی محیط های مختلف اجرا می شود و با شعار یکبار بنویس و همه اجرا کن کاملا منطبق است.
ویژگی ایمن بالا
Java به دلایل زیر یک زبان امن درنظر گرفته می شود:
- عدم وجود explicit pointer
- برنامه های Java در بستر دستگاه مجازی (virtual machine sandbox) اجرا می شوند.
![آموزش Java آموزش Java]()
- Classloader - پکیج کلاس هایی که به سیستم فایل دستگاه محلی مربوط می شود را از آن هایی که از منابع اینترنتی و از طریق شبکه وارد می شوند، جدا ساخته و از این طریق سطح امنیت را بالا می برد.
- Bytecode Verifier - قطعات کد (code fragment) را جهت وجود یا عدم وجود کد غیرمجاز که می تواند مجوز دسترسی به آبجکت ها را نقض کند یا صدمه ای وارد نماید، بررسی می کند.
- Security manager – مشخص می کند که کلاس اجازه ی دسترسی به کدام منابع را دارا می باشد برای مثال اجازه ی درج (write) اطلاعات در دیسک دستگاه و خواندن (read) محتوا از آن را دارد یا خیر.
این مقدار امنیت از سمت زبان Java تامین می شود. علاوه بر این خود توسعه دهنده نیز می تواند از طریق SSL، JAAS و Cryptography/رمزنگاری سطح امنیت اپلیکیشن های Java را بالا ببرد.
ویژگی قدرتمند بودن (Robust)
واژه ی انگلیسی Robust به معنای قدرتمند بودن می باشد. Java زبانی است که خود حافظه را به صورت بهینه مدیریت کرده، دارای سیستم memory management خودکار کارا و بهینه می باشد. در زبان مذکور خبری از pointer یا متغیری که آدرس متغیر دیگری را در خود نگه می دارد نیست و این امر سطح ایمنی اپلیکیشن را بالا می برد. زبان Java از سیستم مدیریت حافظه ی خودکار که garbage collector نام دارد برخودار است. علاوه بر این، خطاهایی که در زمان اجرا رخ می دهند را مدیریت نموده (از exception handling پشتیبانی می کند) و از مکانیزم بررسی نوع داده ای (type checking) پشتیبانی می کند. تمامی ویژگی های نام برده Java را قدرتمند می سازند.
ویژگی Architecture neutral
Architecture neutral بدین معنی است که نرم افزار توسعه یافته با Java طوری طراحی شده است که از محیط یا بستر اجرایی که قرار است در آن نصب و راه اندازی شود، کاملا مستقل است (target platform independant). به طور مثال اندازه ی انواع داده ای اولیه این زبان در انواع محیط های سخت افزازی و نرم افزاری ثابت است. در زبان برنامه نویسی C، انواع داده ای int (عدد صحیح) در معماری 32 بیتی 2 بایت را به خود تخصیص می دهد و در معماری 64 بیتی 4 بایت را اشغال می کند. این در حالی است که نوع داده ای int زبان java در هر دو معماری مقداری یکسان از حافظه را اشغال می کند.
ویژگی portable
می توان بایت کد جاوا را به هر بستر اجرایی (platform) انتقال داده و در آنجا از کد مورد نظر خروجی گرفت.
ویژگی High-performance و کارایی بالا
Java سریع تر از کدهای تفسیر شده ی قدیمی عمل می کند چراکه byte code جاوا به کد طراحی شده برای سخت افزار و سیستم عامل خاص/Native code نزدیک است. با این وجود کد جاوا که ابتدا کامپایل و بعد تفسیر می شود، نسبت به زبان های منحصرا کامپایلی نظیر C++ کندتر اجرا می شود.
ویژگی Distributed (ساخت اپلیکیشن های بزرگ و توزیع شده)
Java زبانی است که توسعه دهنده با آن می تواند اپلیکیشن هایی با مقایس بزرگ و توزیع شده پیاده سازی کند. RMI و EJB دو فریم ورکی هستند که برای ساخت اپلیکیشن های توزیع شده بکار می روند. می توان با فراخوانی متدها از هر دستگاهی در اینترنت به فایل های مورد نظر دسترسی داشته باشید.
ویژگی Multi-threaded (قابلیت پردازش موازی)
هر thread مانند یک برنامه ی مستقل می باشد که به موازات برنامه ی دیگری اجرا می شود. می توان به واسطه ی thread، با Java برنامه هایی نوشت که وظایف و عملیات مختلفی را به موازات هم (در آن واحد و به طور همزمان) مدیریت می کند. مزیت اصلی ویژگی multi-threading یا قابلیت پردازش موازی این است که به ازای هر thread حافظه را اشغال نمی کند بلکه برای این منظور، یک ناحیه ی مشترک در حافظه درنظر می گیرد. thread ها برای اپلیکیشن های تحت وب و چند رسانه ای بسیار کاربردی و حائز اهمیت می باشند.
