IranIT.info Articles
عنوان پديده فناورى جاوا
نويسندههادى صبوحى تاريخ ارسال 18/01/1382 (ويرايش 17/03/1387) نام قسمت فناورى
همه‌جا راجع به فناوري جاوا صحبت مي‌شود، اما واقعا فناوري جاوا چيست؟

درباره فناوري جاوا
فناورى جاوا هم يك زبان برنامه‌نويسي است و هم يك Platform

زبان برنامه‌نويسي جاوا
زبان برنامه‌نويسي جاوا، يك زبان سطح بالا است كه با عبارات زير توصيف مي‌گردد :
  • ساده
  • خنثي درباره معماري (عدم وابسته به سخت افزار و سيستم عامل)Architecture netural
  • شىء گرا
  • قابل انتقال (Portable)
  • توزيع‌شده (Distributed)
  • كارايى بالا
  • Multithreaded
  • محكم (Robust)
  • پويا
  • ايمن (Secure)
هر كدام از اين عبارات در محيط زبان جاوا (http://java.sun.com/docs/white/langenv)، در يك مقاله نوشته شده توسط James Gosling و Henry McGilton تشريح شده است.

در زبان برنامه‌نويسي جاوا، ابتدا همه متن برنامه در فايل‌هاي متني با پسوند .java نوشته مي‌شود. سپس اين فايل‌ها توسط کامپايلر يا مترجم javac به فايل‌هاي .class ترجمه مي‌شوند. يک فايل .class حاوي کد بومي به پردازنده شما نبوده و شامل بايت‌کد مي‌باشد، يعني کد زبان ماشين مربوط به ماشين مجازي جاوا (Java VM). سپس ابزار اجراکننده java، برنامه شما را توسط نمونه‌اي از ماشين مجازي جاوا اجرا مي‌کند.


فرايند توسعه نرم‌افزار


به دليل اينکه ماشين مجازي جاوا در سيستم عامل‌هاي مختلف زيادي موجود است، يک فايل .class مي‌تواند در ويندوز مايکروسافت، سيستم عامل سولاريس (Solaris OS) ، لينوکس يا Mac OS اجرا شود. بعضي از ماشين‌هاي مجازي جاوا مانند Java HotSpot virtual machine براي بهبود کارايي، قدم‌هاي ديگري را نيز در زمان اجرا انجام مي‌دهند. اين قدم‌ها شامل يافتن گلوگاه‌هاي کارايي و ترجمه مجدد کدهايي که زياد مورد استفاده قرار مي‌گيرند به کد بومي پردازنده مي‌شود.


با استفاده از ماشين مجازي جاوا يک برنامه مي‌تواند در چندين محيط اجرا شود

محيط جاوا (Java Platform) يك Platform، محيطى سخت‌افزارى يا نرم‌افزارى است كه در آن يك برنامه اجرا مىگردد. مهمترين اين محيط‌ها شامل ويندوز مايکروسافت، لينوكس (Linux) و Solaris و MacOS است. بيشتر محيط‌ها مى‌توانند بصورت تركيبى از سيستم‌عامل و سخت‌افزار توصيف‌شوند. محيط جاوا از بقيه محيط‌ها متمايز است، زيرا فقط شامل محيطى مبتنى بر نرم‌افزار است كه بر روى بقيه محيط‌هاى مبتنى بر سخت‌افزار اجرا مى‌شود.
محيط جاوا دو جزء دارد :
- ماشين مجازى جاوا
- ميانجى برنامه‌نويسى كاربردى جاوا (Java API)
درباره ماشين مجازى جاوا در بالا صحبت شد : اساسى براى محيط جاوا كه بر روى محيط‌هاى مبتنى بر سخت‌افزار منتقل‌شده‌است.
Java API مجموعه بزرگى از اجزا ساخته‌شده نرم‌افزارى است كه توانايى‌هاى مفيد زيادى مانند اجزاء و ابزارهاى ميانجى گرافيكى كاربر را فراهم مى‌آورد. Java API به كتابخانه‌هايى از كلاس‌ها و ميانجى‌هاى مرتبط با نام Package گروه‌بندى شده‌است. بخش «فناورى جاوا چه كارى مى‌تواند انجام دهد؟»، قابليت استفاده بعضى از Packageهاى Java API را نشان مى‌دهد.
شكل زير برنامه‌اى كه در محيط جاوا اجرا مى‌شود را نشان مى‌دهد. همان‌طور كه در شكل نشان داده مي‌شود، Java API و ماشين مجازي، برنامه را از سخت‌افزار مجزا مي‌كنند.



بدليل مستقل از محيط بودن، محيط جاوا كمى كندتر از كد محلى است. اما پيشرفت‌هايي در فناوري‌هاي مترجم و ماشين مجازي جاوا مى‌توانند كارايى نزديك به كد محلى را بدون مخاطره‌انداختن امكان انتقال، ايجاد‌كنند.

فناوري جاوا چه كاري مي‌تواند انجام دهد؟
زبان برنامه‌نويسي همه منظوره و سطح بالاي جاوا يك Platform نرم‌افزاري قدرتمند است. هر پياده‌سازي كامل از Platform جاوا، ويژگي‌هاي زير را ارايه‌مي‌كند :
ابزارهاي توسعه
ابزارهاي توسعه تمامي احتياجات شما براي ترجمه، اجرا، نظارت، خطايابي و مستندسازي را فراهم مي‌نمايند. به عنوان يک تازه‌کار، ابزارهاي اصلي که استفاده خواهيد کرد، مترجم javac ، اجرا کننده java، ابزار مستندسازي javadoc هستند.
ميانجي برنامه‌نويسي کاربردي (API)
API عملکرد اصلي زبان برنامه نويسي جاوا را فراهم مي‌نمايد. API کلاسهاي مفيد زيادي را براي استفاده در برنامه‌هايتان ارايه مي‌کند که همه چيز از اشياء پايه‌اي تا شبکه‌سازي و امنيتي و ساخت XML و دسترسي به پايگاه داده و غيره را پوشش مي‌دهند. API اصلي بسيار بزرگ است. براي آگاهي بيشتر به مستندات جاوا مراجعه کنيد.
شكل زير مواردي كه در Java 2 SDK وجود دارد را نشان‌مي‌دهد.



فناوري‌هاي توسعه
JDK مکانيزم‌هاي استانداردي مانند نرم‌افزار Java Web Start، نرم افزار Java Plug-In را براي ارايه برنامه‌هايتان به کاربران نهايي فراهم مي‌نمايند.
ابزارهاي ميانجي کاربر
ابزارهاي Swing و Java 2D امکان ايجاد ميانجي‌هاي کاربر گرافيکي سطح بالايي را ممکن مي‌سازند.
کتابخانه‌هاي يکپارچه‌سازي
کتابخانه‌هاي يکپارچه‌سازي مانند Java IDL API، JDBC API، JNDI API، Java RMI و ... امکان دسترسي به پايگاه داده و استفاده از اشياء راه دور را ممکن مي سازند.

فناوري جاوا چگونه زندگي را تغيير مي‌دهد؟
با يادگيري زبان برنامه‌نويسي جاوا قول شهرت، خوش بختي و يا حتي يك شغل داده‌نمي‌شود. اما احتمالا زبان برنامه‌نويسي جاوا، برنامه‌هاي شما را بهتر كرده و نياز به تلاش كمتري نسبت به ساير زبان‌ها دارد. فناوري جاوا در موارد زير به شما كمك خواهد كرد :
شروع سريع : اگر چه زبان برنامه‌نويسي جاوا، يك زبان شيءگراي قدرتمند است، اما براي يادگيري، بسيار آسان است، مخصوصا براي برنامه‌نويساني كه با C و C++ آشنا هستند.
كدنويسي كمتر : مقايسه اندازه‌اي برنامه‌ها ( تعداد كلاس‌ها، تعداد متدها و ... )، نشان‌مي‌دهد كه يك برنامه نوشته‌شده در زبان‌ برنامه‌نويسي جاوا مي‌تواند يك‌چهارم همان برنامه در زبان C++ باشد.
كدنويسي بهتر : زبان برنامه‌نويسي جاوا، به تمرينات كدنويسي خوب تشويق مي‌كند و بخش جمع‌آوري آشغال (garbage collection) آن به جلوگيري از هدررفتن حافظه كمك‌مي‌كند. شيءگرايي آن، معماري اجزا JavaBean و APIهاي فراوان و با سهولت گسترش، اجازه استفاده مجدد از كدهاي تست شده ديگران و مواجهه كمتر با اشكالات را باعث مي‌شود.
ساخت سريعتر برنامه‌ها : زمان ساخت ممكن است دو برابر سريعتر از نوشتن همان برنامه در C++ باشد. زيرا شما خطوط كمتري برنامه مي‌نويسيد و همچنين جاوا نسبت به C++ زبان برنامه‌نويسي ساده‌تري است.
دوري از وابستگي به Platform با 100% جاوا خالص : شما مي‌توانيد برنامه‌تان را بصورت قابل انتقال توسط عدم استفاده از كتابخانه‌هاي نوشته‌شده در ساير زبان‌ها حفظ كنيد.
يك بار بنويس، همه جا اجرا كن : به دليل اينكه برنامه‌هاي 100% جاوا به كدبايت‌هاي مستقل از ماشين تفسير مي‌شوند، بطور سازگار بر روي هر Platform اجرا مي‌شوند.
توزيع آسان‌تر نرم‌افزار : با نرم افزار Java Web Start کاربران مي توانند برنامه شما را با يک کليک ماوس اجرا کنند. يک بررسي کننده خودکار نگارش برنامه، تضمين مي کند که کاربران هميشه به روز بوده و آخرين نسخه از نرم افزار شما را در اختيار دارند. اگر نگارش جديدي موجود باشد، نرم افزار Java Web Start بصورت خودکار آنها را به روز مي کند.

منبع : java.sun.com