در این فصل، همه چیزهایی را که باید در مورد شروع کار با زبان برنامه نویسی جاوا را بدانیم، یاد خواهیم گرفت.
بیایید ابتدا نگاهی اجمالی به فناوری جاوا به طور کلی داشته باشیم. ما هم زبان برنامه نویسی جاوا و هم پلتفرم جاوا را مورد بحث قرار خواهیم داد و یک نمای کلی از کارهایی که این فناوری میتواند انجام دهد و چگونه زندگی شما را آسانتر میکند ارائه میدهیم.
۱) درباره تکنولوژی جاوا
تکنولوژی جاوا هم یک زبان برنامه نویسی و هم یک پلتفرم است.
زبان برنامه نویسی جاوا
- Simple (ساده)
- Object-oriented (شی گرایی)
- Distributed (توزیع شده)
- Multi-threaded (چند رشته ای)
- Dynamic (پویا)
- Architecture neutral (معماری خنثی)
- Portable (قابل حمل بودن)
- High performance (عملکرد بالا)
- Robust (قدرتمند)
- Secure (ایمن)
اکنون، اجازه دهید به طور خلاصه به فرآیند توسعه نرم افزار جاوا نگاه کنیم:
مرحله ۱: یک فایل منبع جاوا ایجاد کنید
یک فایل با نام HelloWorldApp.java ایجاد کنید و کد زیر را به آن اضافه کنید:
در زبان برنامه نویسی جاوا، تمام کدهای منبع ابتدا در فایلهای متنی ساده که با پسوند جاوا ختم میشوند، نوشته میشود.
نگران کد منبعی که در فصلهای بعدی خواهیم آموخت، نباشید.
مرحله ۲: فایل منبع جاوا را کامپایل کنید
از کامپایلر javac برای کامپایل فایل HelloWorldApp.java در فایل HelloWorldApp.class استفاده کنید. فایل HelloWorldApp.class حاوی کدهای بومی پردازنده شما نیست. در عوض حاوی bytecodes زبان ماشین، ماشین مجازی جاوا (Java VM) است.
به عنوان مثال
javac HelloWorldApp.java
مرحله ۳: اجرای ByteCodes (فایل .class)
از ابزار لانچر جاوا برای اجرای HelloWorldApp.class (bytecodes) با نمونهای از ماشین مجازی جاوا استفاده کنید.
به عنوان مثال
java HelloWorldApp
۲) مستقل بودن از پلتفرم
جاوا مستقل از پلتفرم است، بنابراین جاوا میتواند بر روی هر سیستم عامل و سختافزاری اجرا شود. حال سوال این است که چگونه مستقل از پلتفرم است؟
این به دلیل جادوی byte-code است که مستقل از سیستم عامل است. هنگامی که کامپایلر جاوا هر کدی را کامپایل میکند، byte-code را تولید میکند که کد بومی ماشین نیست (برخلاف کامپایلر C).
این byte-code برای اجرا در ماشین به یک مفسر نیاز دارد. این مترجم JVM است. بنابراین JVM آن byte-code را میخواند (که مستقل از ماشین است) و آن را اجرا میکند. JVM های مختلف برای سیستم عاملهای مختلف طراحی شده است و byte-code میتواند روی سیستم عاملهای مختلف اجرا شود.
جاوا VM در بسیاری از سیستمعاملهای مختلف موجود است، همان فایلهای class. میتوانند روی Microsoft Windows، سیستم عامل Solaris (Solaris OS)، Linux یا Mac OS اجرا شوند. byte-code یک کد مستقل از پلتفرم است زیرا میتواند بر روی چندین پلتفرم اجرا شود، به عنوان مثال، یک بار بنویسید و هر جا اجرا کنید (WORA).
۳) آیا JVM به پلتفرم وابسته است؟
همانطور که میدانیم JVM کد بایت (byte-code) را به زبان ماشین ترجمه میکند و از آنجایی که زبان ماشین به سیستم عامل مورد استفاده بستگی دارد، واضح است که JVM به پلتفرم (سیستم عامل) وابسته است. این واقعیت را میتوان با تلاش برای دانلود JVM تأیید کرد – لیستی از JVM های مربوط به سیستم عاملهای مختلف به شما داده میشود و بدیهی است که JVM مورد نظر را مطابق با سیستم عاملی که در حال اجرا هست انتخاب میکنید.
۴) پلتفرم جاوا
پلتفرم محیط سختافزاری یا نرمافزاری است که یک برنامه در آن اجرا میشود. ما قبلاً به برخی از محبوبترین پلتفرمها مانند مایکروسافت ویندوز، لینوکس، سیستم عامل Solaris و Mac OS اشاره کردهایم. اکثر پلتفرمها را میتوان ترکیبی از سیستم عامل و سختافزار زیرین توصیف کرد. پلتفرم جاوا با اکثر پلتفرمهای دیگر تفاوت دارد زیرا یک پلتفرم فقط نرمافزاری است که بر روی سایر پلتفرمهای مبتنی بر سختافزار اجرا میشود.
پلتفرم جاوا دو جزء دارد:
- ماشین مجازی جاوا (The Java Virtual Machine)
- رابط برنامه نویسی کاربردی جاوا (API)
JVM (ماشین مجازی جاوا) یک ماشین انتزاعی است. ماشین مجازی نامیده میشود زیرا از نظر فیزیکی وجود ندارد و مشخصات یک محیط اجرا را فراهم میکند که byte-code جاوا را میتوان در آن اجرا کرد. همچنین میتواند برنامههایی را که به زبانهای دیگر نوشته شده و در byte-code جاوا کامپایل شدهاند اجرا کند.
API مجموعه بزرگی از اجزای نرمافزاری آماده است که قابلیتهای مفید زیادی را ارائه میکند. API در کتابخانههای و رابطهای مرتبط گروهبندی میشود. این کتابخانهها به عنوان پکیج شناخته میشوند. بخش بعدی، فناوری جاوا چه کاری میتواند انجام دهد؟ برخی از عملکردهای ارائه شده توسط API را بیان میکند.
به عنوان یک محیط مستقل از پلتفرم، پلتفرم جاوا میتواند کمی کندتر از کد بومی باشد. با این حال، پیشرفتها در فنآوریهای کامپایلر و ماشین مجازی، عملکرد را به کد بومی نزدیک میکند، بدون اینکه قابلیت حمل را تهدید کند.
۵) فناوری جاوا چه کاری میتواند انجام دهد؟
زبان برنامه نویسی جاوا همه منظوره و سطح بالا یک پلتفرم نرم افزاری قدرتمند است. هر پیادهسازی کامل از پلتفرم جاوا ویژگیهای زیر را به شما میدهد:
ابزارهای توسعه: ابزارهای توسعه هر آنچه را که برای کامپایل، اجرا، نظارت، اشکالزدایی و مستندسازی برنامههای خود نیاز دارید، در اختیار شما قرار میدهد. به عنوان یک توسعهدهنده تازه کار، ابزارهای اصلی که استفاده میکنید عبارتند از کامپایلر javac، لانچر جاوا و ابزار مستندسازی Javadoc.
رابط برنامه نویسی کاربردی (API): API عملکرد اصلی زبان برنامهنویسی جاوا را فراهم میکند. API مجموعه گستردهای از کلاسهای مفید را برای استفاده در برنامههای کاربردی خود ارائه میدهد. این API ها شامل همه چیز از اشیاء اساسی، شبکه و امنیت، تولید XML و دسترسی به پایگاه داده و موارد دیگر است. هسته API بسیار بزرگ است.
فنآوریهای استقرار (Deployment): نرم افزار JDK مکانیسمهای استانداردی مانند نرم افزار Java Web Start و نرم افزار Java Plug-In را برای استقرار برنامههای شما برای کاربران نهایی ارائه میدهد.
جعبه ابزار رابط کاربری: جعبه ابزار JavaFX، Swing و Java 2D امکان ایجاد رابطهای گرافیکی پیچیده کاربر (GUI) را فراهم میکند.
کتابخانههای یکپارچه : کتابخانههای یکپارچه مانند Java IDL API، JDBC API، Java Naming and Directory Interface (JNDI) API، Java RMI، و فراخوانی روش راه دور جاوا از طریق فناوری پروتکل اینترنت Inter-ORB (فناوری جاوا RMI-IIOP) دسترسی به پایگاه داده را امکان پذیر میکند. و دستکاری اشیاء از راه دور.
۶. چگونه فناوری جاوا زندگی من را تغییر خواهد داد؟
طبق آموزش رسمی اوراکل، پاسخ این سوال – فناوری جاوا به شما کمک میکند کارهای زیر را انجام دهید:
به سرعت شروع کنید: اگرچه زبان برنامه نویسی جاوا یک زبان شیگرا قدرتمند است، اما یادگیری آن آسان است، به ویژه برای برنامه نویسانی که قبلاً با C یا ++C آشنا هستند.
کد کمتری بنویسید: مقایسه معیارهای برنامه (تعداد کلاسها، تعداد روشها و غیره) نشان میدهد که یک برنامه نوشته شده به زبان برنامه نویسی جاوا میتواند چهار برابر کوچکتر از همان برنامه نوشته شده در ++C باشد.
کدهای بهتری بنویسید: زبان برنامه نویسی جاوا تشویق میکند که روشهای خوب کدنویسی کنید و جمعآوری خودکار زباله به شما کمک میکند تا از نشت حافظه جلوگیری کنید. شیگرایی آن، معماری اجزای JavaBeans™ آن، و API با دامنه وسیع و قابل گسترش آن به شما این امکان را میدهد از کدهای موجود و آزمایش شده استفاده کنید و باگهای کمتری داشته باشید.
برنامهها را سریعتر توسعه دهید: زبان برنامهنویسی جاوا سادهتر از ++C است و به این ترتیب، زمان توسعه شما میتواند تا دو برابر سریعتر هنگام نوشتن آن باشد. برنامههای شما با تعداد خطوط کد کمتری نوشته خواهند شد.
اجتناب از وابستگیهای پلتفرم: میتوانید با اجتناب از کتابخانههای نوشته شده به زبانهای دیگر، برنامه خود را قابل حمل نگه دارید.
یک بار بنویسید، هر جا اجرا کنید: از آنجایی که برنامههای کاربردی نوشته شده در زبان برنامه نویسی جاوا در byte-codeهای مستقل از ماشین کامپایل میشوند، به طور مداوم بر روی هر پلتفرم جاوا اجرا میشوند.
نرمافزار را آسانتر توزیع کنید: با نرمافزار Java Web Start، کاربران میتوانند با یک کلیک ماوس برنامههای شما را راهاندازی کنند. بررسی خودکار نسخه در هنگام راهاندازی تضمین میکند که کاربران همیشه با آخرین نسخه نرمافزار شما بروز هستند. اگر یک بروزرسانی در دسترس باشد، نرم افزار Java Web Start به طور خودکار آنها را نصب میکند.
قسمت بعد
در این فصل، اصطلاحات اساسی زبان برنامهنویسی جاوا را درک کردیم. در فصل بعدی، اولین برنامه hello-world خود را در جاوا ایجاد خواهیم کرد.
منبع: javaguides