معرفی زبان برنامه نویسی جاوا (Java)
معرفی زبان برنامه نویسی جاوا (Java)
آیا تا بحال این سوال برایتان پیش آمده که جاوا چیست؟
آیا جاوا امن است و آیا دلیلی برای استفاده از جاوا وجود دارد؟ آیا جاوا همان جاوا اسکریپت است؟
ما در این آموزش به معرفی زبان برنامه نویسی جاوا می پردازیم اگر شما هم این سوال ها و یا سوال های مشابهی در سر دارید،
در خواندن این مطلب با ما همراه باشید…
جاوا چیست؟
جاوا یک زبان برنامه نویسی رایانه ای است که به طور همزمان ، مبتنی بر کلاس، مبتنی بر شی گرایی است که به طور خاص طراحی شده است تا به همان اندازه که ممکن است وابستگی های پیاده سازی را داشته باشد.
کد جاوا اسکریپت را می توان در تمام سیستم عامل هایی که از جاوا پشتیبانی می کنند بدون نیاز به کامپایل مجدد اجرا کرد.
برنامه های جاوا به طور معمول به bytecode متصل می شوند که می تواند بر روی هر دستگاه مجازی جاوا (JVM) بدون در نظر گرفتن معماری کامپیوتر اجرا شود.
از سال ۲۰۱۶، جاوا یکی از محبوب ترین زبان های برنامه نویسی در حال استفاده است، مخصوصا برای برنامه های کاربردی وب سرویس گیرنده و سرویس دهنده که با ۹ میلیون توسعه دهنده گزارش شده است.
جاوا در ابتدا توسط James Gosling در Sun Microsystems توسعه یافت (که از زمان شرکت Oracle خریداری شده است ) و در سال ۱۹۹۵ به عنوان یک جزء اصلی از پلت فرم Java Sun Microsystems منتشر شد.
این زبان قسمت های بسیاری از گرامر خود را از C و ++C گرفته اما دارای مدل شیگرایی ساده ای است و امکانات سطح پایین کمی دارد.
باید توجه داشته باشید که جاوا و جاوا اسکریپت دو موضوع متفاوت هستند.
در واقع، به جز نام، این دو هیچ شباهتی به یکدیگر ندارند.
جاوا اسکریپت عموماً در اسناد HTML استفاده میشود (صفحات وب) و نمیتواند به صورت یک برنامه مستقل در سیستم عامل اجرا شود.
هر چند که نامگذاری و کاربردهایشان در صفحات وب میتواند تا حدودی کاربران را گیج کند، اما این دو از یکدیگر مجزا هستند.
از این گذشته، در حالی که بخش بزرگی از صفحات موجود در وب از جاوا اسکریپت بهره میبرند، تنها تعداد بسیار کمی از وب سایت ها از جاوا کمک گرفته اند.
جاوا اسکریپ برای ایجاد صفحههای پویا و بسیاری از قابلیتهای وب سایت های مدرن مورد استفاده قرار میگیرد.
جاوا اسکریپت بر روی کامپیوتر کاربر اجرا میشود و در واقع یک زبان کلاینت بیس است.
جاوا برای اجرا باید به زبان ماشین مجازی ترجمه شود اما جاوا اسکریپت زبانی است که معمولاً در صفحات وب نوشته میشود و توسط مرورگر تفسیر میگردد.
در جاوا متغیرها همگی بر اساس نوع آنها معرفی میشوند ولی در جاوا اسکریپت نوع متغیرها به صورت ضمنی مشخص میشود.
برنامه های جاوا و اپلت ها
جاوا برای نوشتن انواع برنامه های کاربردی مناسب است. با جاوا میتوان انواع برنامههای زیر را نوشت:
- برنامه های تحت وب
- برنامه نویسی سیستم های کوچک مانند تلفن همراه، رایانه جیبی و …
- برنامه های کاربردی بزرگ (Enterprise)
- برنامه های رومیزی (Desktop)
- و …
قابلیت خاصی در جاوا وجود دارد به نام اپلت.
اپلت ها امکانات فراوانی برای نوشتن برنامه های تحت وب در اختیار برنامه نویسان قرار میدهند.
البته وجود ماشین مجازی جاوا برای اجرای اپلت لازم است.
اپلت ها نظیر فناوری سیلورلایت شرکت مایکروسافت هستند که برنامه نویسان را قادر میسازد تا امکاناتی را به مرورگر کاربر بیفزایند.
تفاوت این دو در امنیت می باشد به گونه ای که سیلورلایت به دلیل اینکه در محیطی به نام جعبه شنی (sandbox) اجرا میشوند امن هستند
ولی اپلتها فاقد چنین امنیتی هستند و به سادگی هدف حملات استاندارد Social Engineering Toolkit واقع میشوند.
سیستمعامل: تا سال ۲۰۰۴ net. تنها بر روی پلت فرم ویندوز اجرا می شد و برخی ویندوز را سیستمعامل غیرقابل اعتمادی در برنامهنویسی Enterprise میدانستند ولی جاوا از این نظر انتخاب خوبی محسوب میشد.
ماشین مجازی جاوا (JVM)
پیش از اینکه، در مورد JVM بحث کنیم مراحل اجرای برنامه را شرح می دهیم. مراحل به شرح زیر است:
ما برنامه را می نویسیم، سپس برنامه را کامپایل می کنیم و در نهایت برنامه را اجرا می کنیم.
۱) نوشتن برنامه توسط برنامه نویس جاوا.
۲) تدوین برنامه توسط کامپایلر javac انجام می شود، javac اولین کامپایل جاوا است که در کیت توسعه جاوا (JDK) موجود است.
۳) در مرحله سوم، JVM بایت کد تولید شده توسط کامپایلر را اجرا می کند. در این مرحله برنامه اجرا می شود.
بنابراین، متوجه شدیم که عملکرد اصلی JVM این است که کد تولید شده توسط کامپایلر را اجرا کند.
هر سیستم عاملی دارای JVM متفاوت است، با این حال خروجی که پس از اجرای کد بایستی تولید کند در تمام سیستم عامل ها یکسان است. به همین دلیل ما جاوا را زبان مستقل پلت فرم می نامیم.
bytecode
کامپایلر javac JDK کد منبع جاوا را به بایت کد کامپایل می کند تا بتوان آن را توسط JVM اجرا کرد.
کد بایستی در کامپایلر در یک فایل class ذخیره می شود.
کیت توسعه جاوا (JDK)
به منظور ایجاد، کامپایل و اجرای برنامه جاوا، شما نیاز به JDK نصب شده بر روی رایانه خود دارید.
ابزارهای JDK به پنج دسته تقسیم میشوند:
- ابزار های پایهای (Basic Tools) که اساس کیت توسعه جاوا (JDK) میباشند
- ابزار های فراخوانی متد راه دور (Remote Method Invocation – به اختصار RMI)
- ابزار های بین المللی سازی (Internationalization)
- ابزار های امنیتی
- ابزار های Java IDL
محیط جاوا زمان اجرا (JRE)
JRE بخشی از JDK است. هنگامی که JRE روی سیستم شما نصب شده است، می توانید یک برنامه جاوا را اجرا کنید، اما نمیتوانید آن را کامپایل کنید.
JRE شامل JVM، افزونه مرورگر و پشتیبانی اپلت است. هنگامی که شما یک برنامه را در جاوا اجرا می کنید، نیاز به JRE دارید.
JRE ممکن است بهصورت Java RTE نیز نوشته شود. محیط اجرایی جاوا کمترین نیازمندی های اجرای یک برنامه جاوا را تأمین میکند:
این نیازمندیها شامل ماشین مجازی جاوا JVM، کلاسهای هسته و فایلهای پشتیبانی هستند.
ویژگی های اصلی JAVA
جاوا یک زبان مستقل است
همانطور که در بالا ذکر شد، JVM باید کد تولید شده توسط کامپایلر را اجرا کند.
این بایت کد می تواند بر روی هر پلتفرم مانند ویندوز، لینوکس، سیستم عامل مک و غیره اجرا شود.
به این معنی که برنامه ای که بر روی ویندوز کامپایل می شود می تواند در لینوکس اجرا شود و برعکس.
هر سیستم عامل دارای JVM متفاوت است، با این حال خروجی که پس از اجرای کد تولید می کند در تمام سیستم عامل ها یکسان است.
به همین دلیل ما جاوا را به عنوان زبان مستقل پلت فرم می نامیم.
Java یک زبان Object Oriented است
برنامه نویسی شی گرا یک راه سازماندهی برنامه ها به عنوان مجموعه ای از اشیاء است که هر کدام یک نمونه از یک کلاس را نشان می دهند.
۴ مفهوم اصلی برنامه نویسی شی گرا:
- انتزاع – مفهوم – برداشت
- کپسوله سازی
- وراثت
- پلی مورفیسم
ساده
جاوا به عنوان یکی از زبان های ساده محسوب می شود زیرا ویژگی های پیچیده مانند:
بارگذاری اپراتور، ارث چندگانه ، اشاره گرها و تخصیص حافظه صریح را ندارد.
زبان قوی
زبان برنامه نویسی جاوا به گونه ای طراحی شده است که تاکید زیادی روی بررسی زود هنگام خطاهای احتمالی ایجاد می کند، به همین دلیل کامپایلر جاوا قادر به شناسایی خطاهایی است که در سایر زبان های برنامه نویسی قابل شناسایی نیستند.
امن است
ما اشاره گرها را نداریم و نمی توانیم از آرایه های محدود استفاده کنیم به همین دلیل چند نقص امنیتی مانند فساد پشته یا سرریز بافر غیر ممکن است که در Java جا بیفتد.
جاوا توزیع شده است
با استفاده از زبان برنامه نویسی java ما می توانیم برنامه های توزیع شده ایجاد کنیم.
RMI (Invocation of Method Remote Invocation) و EJB (Enterprise Java Beans) برای ایجاد برنامه های توزیع شده در جاوا استفاده می شود.
به عبارت ساده: برنامه های جاوا را می توان در بیش از یک سیستم توزیع کرد که با استفاده از اتصال اینترنت به یکدیگر متصل می شوند.
اشیاء در یک JVM (ماشین مجازی جاوا) می توانند روشی را در JVM راه دور اجرا کنند.
Multithreading
جاوا چند راه انداز را پشتیبانی می کند. Multithreading یک ویژگی جاوا است
که امکان اجرای همزمان دو یا چند قسمت از برنامه را برای حداکثر استفاده از CPU فراهم می کند.
قابل حمل
کد جاوا که بر روی یک دستگاه نوشته شده است می تواند بر روی دستگاه دیگری اجرا شود.
بایت کد مستقل از پلت فرم می تواند به هر پلت فرم برای اجرا انجام شود،
که باعث می شود کد جاوا قابل حمل باشد.