بسیاری از برنامه نویسان جاوا برخی از مفاهیم کلیدی و پایه جاوا را نمی دانند، درحالیکه برخی از آن ها چندین سال در حال توسعه جاوا هستند. هر برنامه نویس جاوا که جاوای استاندارد را آموخته است یا در حال پیاده سازی با استفاده از جاوای استاندارد است، باید نکات کلیدی و پایه زیر را بداند.

10 مطلبی که هر برنامه نویس جاوا باید بداند

۱) هر برنامه نویس جاوا باید تاریخچه، شیوه و هدف ایجاد جاوا را بداند. جاوا حدود سال ۱۹۹۲ در شرکت سان میکروسیستمز توسط جمز گاسلینگ اختراع شد. هدف جاوا ارایه زبانی بود که مستقل باشد، یعنی برنامه های آن روی هر سیستم عامل و سخت افزاری نصب و اجرا شود. در ابتدا نام آن را Oak گذاشتند اما بعد از این وکلای شرکت اعلام کردند این نام قبلا توسط زبان دیگری ثبت شده است نام جاوا را برای آن برگزیدند. جاوا نام جزیره ای در اندونزی در جنوب شرق آسیاست که قهوه های آن مشهور است. نقل است که جمز گاسلینگ وقتی با دوستان خود در حال خوردن قهوه اندونزیایی بود با دیدن نام جاوا روی بستة قهوه، جاوا را به عنوان نام زبان خود برگزید.

۲) هر برنامه نویس جاوا باید معنی و کاربرد JVM، JRE و JDK را بداند. JDK مخفف Java Development Kit است و در واقع بسته ای است که برای برنامه نویسی جاوا به آن نیاز دارید. این بسته، شامل کتابخانه های جاوا، کامپایلر جاوا، دیباگر جاوا، و مجموعه ای از ابزارهای دیگر است که در توسعه یک برنامه جاوا ممکن است به آن نیازمند شوید. JRE نیز مخفف Java Runtime Environment است و در واقع زیرمجموعه ای از JDK است که برای اجرای برنامه های جاوا به آن نیاز دارید. به عبارت دیگر، اگر فقط قصد اجرای یک برنامه جاوا را دارید قبل از آن باید JRE را روی سیستم خود نصب کنید. اما اگر قصد تولید یک برنامه را دارید یعنی می خواهید برنامه ای بنویسد، آنرا کامپایل و اجرا کنید باید JDK را نصب کرده باشید. JRE زیرمجموعه ای از JDK است و وقتی شما JDK را نصب کنید JRE نیز به عنوان قسمتی از آن نصب می شود. JVM مخفف Java Virtual Machine است که به آن ماشین مجازی جاوا نیز گفته می شود. JVM مسئولیت اجرای بایت کدهای برنامه (کدهای کامپایل شده) را به عهده دارد و خود قسمتی از JRE است.

۳) هر برنامه نویس جاوا باید نسخه های مختلف زبان جاوا و کاربرد آنها را بداند. جاوا به صورت رسمی در سه نسخه ارایه می شود الف-جاوای استاندارد که به آن Java SE گفته می شود ب-جاوای میکرو که به آن Java ME گفته می شود ج-جاوای Enterprise که به آن Java EE گفته می شود. جاوای استاندارد نسخه پایه جاواست و شامل کتابخانها های اصلی جاوا می شود، کتابخانه هایی که برای نوشتن هر برنامه جاوا (چه ساده باشد و چه پیچیده) به آن نیاز دارید. جاوای میکرو نسخه ای از جاواست که برای برنامه نویسی روی موبایل، لوازم خانگی، و سخت افزارهای خاص استفاده می شود. جاوای Enterprise نسخه ای از جاواست که برای برنامه نویسی روی سرور استفاده می شود. این برنامه ها عموما تحت وب هستند و معمولات تعداد کاربران زیاد دارند.

۴) هر برنامه نویس جاوا باید پکیج های اصلی جاوای استاندارد را بشناسد. پکیج java.util شامل مجموعه ای از کلاسها و اینترفیسهای عمومی و کاربردی است. پکیج java.io و java.nio شامل مجموعه ای از کلاسها و اینترفیسها برای ورودی و خروجی در برنامه های جاواست. پکیج java.security شامل کلاسها و اینترفیسهای مربوط رمزنگاری، رمزگشایی است. پکیج java.sql و javax.sql شامل کلاسها و اینترفیسهای لازم برای ارتباط با پایگاه داده است. پکیج java.util.concurrent شامل کلاسهایی برای پیاده سازی و کنترل همزمانی و استفاده از Thread در جاواست. پکیج javax.script برای اجرای اسکریپتها و برنامه هایی است که با زبانهای اسکریپتی نوشته شده اند. javax.swing و java.awt پکیجهایی شامل کلاسها و اینترفیسها برای ایجاد واسط کاربری هستند.

۵) هر برنامه نویس جاوا باید واسط های کاربری مختلفی که در جاوا وجود دارد را بشناسد. در جاوا انواع مختلفی از واسط کاربری را می توان ایجاد نمود که عبارتند از : اپلت، واسط کاربری سیستمی، Java Web Start، صفحات دینامیک وب. اپلتهای برنامه های جاوایی هستند که واسط کاربری آنها در مرورگر وب نمایش داده می شود (شبیه Flash). واسط کاربری سیستمی، واسط کاربری است که برای برنامه های رومیزی شبیه آن چیزی که اغلب برنامه های ویندوز یا لینوکس دارند استفاده می شود. Java Web Start را شاید بتوان شکل دیگری از اجرای برنامه های رومیزی قلمداد نمود Java Web Start امکان می دهد تا یک برنامه رومیزی را از طریق کلیک کردن روی یک لینک وب اجرا نمود. نوع آخر واسط کاربری واسط کاربری وب است که با استفاده از زبان جاوا می توان به صورت دینامیک آنرا ایجاد نمود.

۶) هر برنامه نویس جاوا باید مسیر یادگیری جاوا را بداند. طبیعی است که هر فردی برای یادگیری جاوا باید ابتدا جاوای استاندارد یعنی همان Java SE را بیاموزد. بعد از آن، می تواند سراغ جاوای میکرو (Java ME) ، اندروید یا برنامه نویسی وب برود. هیچ کدام از این سه پیشنیازی به جز جاوای استاندارد ندارند. در مرحله بعد، دانشجو می تواند به سراغ برنامه نویسی Java EE برورد باید دقت کنید که برنامه نویسی وب قسمتی از Java EE محسوب می شود و در اغلب منابع به صورت غیر رسمی به عنوان پیش نیاز Java EE نام برده می شود که از نظر بنده صحیح است. یعنی قبل از اینکه دانشجو تکنولوژیهای دیگر Java EE را بیاموزد می بایست مفاهیم برنامه نویسی وب در جاوا را آموخته باشد.

۷) هر برنامه نویس جاوا باید Java SandBox را بداند. به محیط اجرای اپلت گفته می شود که شامل سطوحی از مجوزهای امنیتی است که مشخص می کند اپلت به کدامیک از منابع سیستم دسترسی دارد. وجود sandbox از نفوذ هکرهایی که با استفاده از اپلت قصد نفوذ و خرابکاری دارند جلوگیری می کند.

۸) هر برنامه نویس جاوا باید Java HotSpot را بداند. قسمتی از JVM است که کار آن بهینه سازی کدهای کامپایل شده بر اساس پلتفرمی (سیستم عاملی) که کد روی آن اجرا می شود است. بهینه سازی که HotSpot انجام می دهد شامل برخی تنظیمات برای اجرای سریعتر کد و به حداقل رساندن سربار حاصل از اجرای قسمتهای با کارایی پایین است.

۹) هر برنامه نویس جاوا باید OpenJDK را بشناسد. JDKای که به صورت رسمی توسط شرکت اوراکل انتشار می یابد به صورت کامل منبع باز نیست علت آن این است که بخشهایی از آن JDK توسط شرکتهای ثانوی تهیه شده و با مجوز (licence) متفاوتی در اختیار شرکت اوراکل (سان میکروسیستمز) قرار داده شده است. بنابراین شرکت اوراکل حق انتشار سورس آنها را همراه با JDK ندارد. OpenJDK مشابه Oracle JDK است با این تفاوت که قسمتهایی که Oracle JDK منبع باز نیستند در OpenJDK منبع باز هستند.

۱۰) هر برنامه نویس جاوا باید، Assertion و Logging را بداند. از JDK 1.4 خصوصیتی به جاوا اضافه شده که به آن Logging گفته می شود. Logging امکان می دهد تا لابلای کدهای اجرایی برنامه عباراتی متنی را مشخص نمود تا در زمان اجرای برنامه در کنسول برنامه، در فایل، در پایگاه داده یا هر منبع دیگری نوشته شوند. این جملات به مدیر نرم افزار امکان می دهد تا وضعیت اجرای برنامه، خطاهای احتمالی در حین اجرای برنامه ، یا وضعیت کاربران برنامه و کارهایی که آنها در نرم افزار انجام داده اند را پیگیری کند. در تنظیمات Logging به سادگی می توان آنها را فعال یا غیرفعال کرد یا اینکه مقصد پیغام را کنسول برنامه، فایل، پایگاه داده یا به هر جای دیگری تغییر داد.

Assertion خصوصیتی است که به برنامه نویس امکان تست برنامه را می دهد در واقع جملات assert لابلای کدهای برنامه نوشته می شوند و یک شرط را بررسی می کنند در زمان اجرای برنامه اگر شرط برقرار نباشد خطا تولید می کند.

منبع : اطلس سافت


<-- این مطلب را با دوستان خود به اشتراک بگذارید
Facebook stumbleupon Digg Delicious Email Twitter