برنامه نويسي به زبان جاوا

Java programming

چكيده:

موضوع مورد بحث در اين متن برنامه‏ نويسي جاوا مي‏باشد. همانطور كه در دنياي كنوني مشاهده مي‏كنيم زبان جاوا به خاطر دارا بودن ويژگيهايي محبوب شده است. به همين دليل لزوم يادگيري اين زبان و آشنايي با نحوة برنامه‏نويسي‏اش يكي از كارهاي مهم است.

زبان برنامه ‏نويسي جاوا چيست؟ چرا به وجود آمد. داراي چه قابليت‏هايي مي‏باشد. روش كامپايلرهايش چگونه است ساختار برنامه‏نويسي‏اش به چه صورت است و بسياري موارد ديگر كه در مورد زبان جاوا مطرح است.

دراين متن مرور مختصري دربارة تاريخچه جاوا و چگونگي تكامل آن بحث خواهد شد و در ادامه بحث به بررسي زبان جاوا و اينكه چه خصوصيات و ويژگيهايي منحصر به فردي دارد كه باعث محبوب شدنش شده است را بررسي خواهيم كرد و سپس به بررسي كامپايلر جاوا و مرورگرهاي آن خواهيم داشت كه چه چيزي هستند چه خصوصيات دارند و همچنين تفاوت سه جاوا يعني java classes، java programming، java script نيز خواهيم پرداخت خلاصه‏اي از دستورات جاوا و نحوة برنامه‏نويسي جاوا و خلاصه‏اي از مهمترين توابع جاوا را در ادامة متن مورد بررسي قرار خواهيم داد.

اختصارات:

API         (Application programming Interface)

 

CERN    (Center European pour Ia Recherch Nucleaire)

FIFO                (First in first out)

HTML    (Hyper text markup language)

HTTP               (Hypertext transfer protocol)

JDK                 (java Developers kit)

JUM                 (java virtual machine)

OOP                 (Object oriented programming)

PDA                 (Personel Digital Assistant)

PC          (Personel Computer)

SGML    (Standard Generalized makup language)

VRML    (Virtual Reality markup language)

WWW    (wold wid web)

تعاريف:

برنامه‏اي كه در يك كاوشگر وب اجرا مي‏شود                   Applet

شبكه‏اي كه در سال 1975 در آمريكا ايجاد شد    ARPANET                  

كاربردي                                                                    Application

رئيس جاوا سافت است                                                     Alan Bratz

حاصل كار كامپايلر در زبانهاي تفسيري است                          byte code

اجزا برنامه، اعضاء                                                      Componement

مفهوم كلاس كه در زبان شي‏گرا مطرح است                                 Class

ابرمتن                                                                        Hyper text 

يك نرم‏افزار مرورگر صفحات وب                             Hyper java

يكي از زبانهاي برنامه‏نويسي شي‏گرا است                      java programming

يكي از زبانهاي برنامه‏نويسي Applet و وب است            java script

نوعي‏اززبان‏جاواكه‏داراي‏مفهوم‏كلاس‏وتعاريف‏مرتبط‏باآن‏است    java classes

نام شخصي كه در طراحي زبان جاوا سهم داشته است      james Gosling    

شركت جاوا سافت، ميكروسافت                                             java soft

چند رفتار داشتن چندگانگي داشتن                            Multi threaded

گروههاي خبري در اينترنت                                           news group

شركت نت اسكيپ                                                           Net scape

يكي از مهمترين مرورگرهاي شركت نت اسكيپ    Net scape Nauigator

شبكه                                                                           Net work

كپسوله كردن                                                                 Oriented

شي                                                                                Object

لايه‏هايي كه دريك نرم‏افزار مي‏باشد                                    Plat from

بسته‏هايي كه درشبكه ردوبدل مي‏شوند                                Pakage

شركتي است كه زبان جاوا را طراحي كرده          Sun microsystem

زير سيستم                                                                Subsystem

تعريف نوع متغيير                                                            type

يك شركت سازندة سخت‏افزار در دنيا ميباشد                        Tonya

سرويسي براي شناختن اينترنت مي‏باشد                                usnet

نوعي كد كه جاوا از  آن استفاده مي‏كند                              unicode

متغيرهايي كه تعريف مي‏شوند                                         Variable

منابع:

برنامه‏نويسي جاوا          نويسنده: لورالمي- چارلز پركينز  مترجم: مهندس زارع‏پور

برنامه‏نويسي‏به‏زبان‏جاوا     تاليف: جن‏ال، هارينگتون     ترجمه:مهندس‏عين‏ا..جعفرنژادقومي

 كتاب آموزشي java     نويسنده: Stephen R.Davis    مترجم: عليرضا منتظرالقائم

MICROSOFT VISUAL j++ sourcebook

By: Jay Cross and Ai saganich

Maximum Java 1.1 

by Glenn Vanderburg et al.

Java unleashed

Java unleashed, second Edition

Teach Yourself java 1.1 programming in 24 Hours

Tricks of the java programming Gurus

Java Developer’s Guide

Java Developer’s Reference

Hacking Java: The java Professional’s Resource Kit

// www.javasoft.com

//www.microsoft.com/visualj/

//www.gamelan.com

 

تاريخچة جاوا:

نگاهي به وب و اينترنت و چگونگي به وجود آمدن جاوا:

چون جاوا رابطه‏اي تنگاتنگ با اينترنت دارد بهتر است در ابتدا نگاهي به تاريخچه وب و اينترنت داشته باشيم.

اينترنت به عنوان يك پروژة دولتي ايالات متحدة آمريكا در سال 1969 بدنيا آمد. اين پروژه كه در ابتدا آرپانت (ARPANET) نام داشت فقط چهار كامپيوتر را در نقاط مختلف ايالات متحده بهم وصل مي‏كرد. آرپانت به تدريج رشد كرد و در سال 1972 پنجاه دانشگاه و مركز تحقيقاتي نظامي در آن فعال بودند در اواخر دهه 1980 متجاوز از هشتادهزار كامپيوتر  در اين شبكه عظيم به هم متصل شدند و امروزه نزديك به 100 ميليون كاربر در اين شبكه عضويت دارند و اينترنت به تمام زواياي زندگي رسوخ كرده است.

با آنكه اينترنت جوان نيست اما از تولد وب (World wide web-www) زمان زيادي نمي‏گذرد وب در سال 1989 در آزمايشگاه ارزيابي فيزيك ذرات (CERN) متولد شد. وب حاصل  زحمات تيم برنرز-لي (Time Berrers- lee) بود كه تلاش داشت تا فيزيكدانان سراسر دنيا بتوانند اطلاعات خود را در شبكه اينترنت و به صورت ابرمتن (Hyper text) باهم در ميان بگذارند وي براساس زبان عمومي علامتگذاري استاندارد (Standard Generalized Markup Language)

 (SGML) يك زبان جديد به نام زبان علامتگذاري ابرمتن (Hyper text Markup Language- HTML) به وجود آورد. براي انتقال اسناد HTML هم يك پروتكل جديد ابداع شد كه پروتكل انتقال ابرمتن (Hypertext Transfer Protocol- HTTP) نام گرفت اين پروتكل وسيله‏اي بود براي جستجو، يافتن بازيابي و نيايش سريع اسناد. با استفاده از ابرمتن مي‏توان در شبكه‏اي از منابع، با برنامه‏اي به نام كاوشگر (Browser) بدنبال اسنادي با ويژگيهاي خاص كاوش كرد. شروع محبوبيت وب و رشد برق آسا آن با ورود كاوشگر گرافيكي موزائيك (Mosaic) همراه بود موفقيت موزائيك باعث شد تا عده‏اي از محققان NCSA شركت نت‏اسكيپ (Net scape) را تاسيس كنند و اين همان شركتي است كه معروفترين كاوشگر وب يعني Net Scape Navigator را توليد كرده است. اين كاوشگر باعث تسريع در روند رشد اينترنت و وب شده است. نت‏اسكيپ با افزودن قابليتهاي بي‏شمار به كاوشگر خود همه را شگفت‏زده كرده اولين ويرايش زبان مدلسازي و واقعيت مجازي (Virtaal Reality Markup language -VRML). به بازار آمد و سان جاوا را در يك سيني طلايي به دنيا عرضه كرد. توسعه‏دهندگان وب با جاوا ابزاري ساختند كه با آن توانستند صفحات تعاملي مالتي‏مديا در اينترنت به وجود آوردند و اين نقطة عطف جديدي در تاريخچة اينترنت به شمار مي‏آيد.

تكامل جاوا:

جاوا هم مانند اكثر اختراعات مهم حاصل تلاش گروهي دانشمندان پيشتاز است. اما نكتة جالب دربارة جاوا آن اس كه جاوا از ابزارهاي يك پروژه شكست خورده سربرآورد. اگر پروژة گرين (Green) كه شركت سان در سال 1991 آن را شروع كرد به موفقيت  مي‏انجاميد امروز نه سان ديگر يك شركت كامپيوتري مي‏بود و نه جاوا متولد مي‏شد.

يكي از زمينه‏هاي مورد علاقه سان بازار لوازم الكترونيكي بود، پروژه گرين به وجود آمد تا براي اين بازار نرم‏افزاري پيشرفته خلق كند. مهندسان سان توجه خود را به ميكروپروسسورهايي معطوف كردند كه داراي قابليت استفاده در اينگونه سيستم‏ها باشند. اگر پروژه گرين مي‏خواست موفق باشد بايد كاري مي‏كرد تا سيستم مزبور بتواند براحتي به بسترهاي سخت‏افزاري مختلف منتقل شود. براي اين منظور ابتدا از كامپايلر C++ استفاده شد. ولي بزودي نارسايي‏هاي C++ دراين زمينه خود را نشان دادند. مهندسان سان خيلي سريع دريافتند كه براي ادامه كار بايد چيزي جديد و قوي خلق كنند. در همين زمان بود كه جيمز گاسيلنگ (James Gosling) كاربر روي زبان جديد اوك (oak) را شروع كرد تقدير آن بود كه اين زبان (java) ناميده شود. چون اداره ثبت نامهاي تجاري نام اوك را رد كرده بود.

به تدريج مهندسين يك دستگاه شبيه (Personal Digital Assistant) PDA ساختند كه در آن از سيستم زبان برنامه‏نويسي و واسط كاربر جاوا استفاده شده بود. و با وجود ابتدايي بودن توانست توجه مديران سان را به خود جلب كند. بعدها گروهي كه در پروژة گرين كار كرده بودند شركت جاوا سافت (Java Soft) را بنيان نهادند. متاسفانه بخت با پروژة گرين يار نبود و بعد از چند شكست متوالي سان آن را كنار گذاشت. در همين زمان بود كه عده‏اي از محققان NCSA شركت نت‏اسكيپ را تاسيس كردند و اين اتفاقات با آتشي كه به سرعت دنيا را درمي‏نورديد و شبكة تار عنكبوت جهاني (www) نام داشت همزمان شد. بنابراين اتفاقي نبود كه مهندسان پروژة گرين به سمت اينترنت و وب به عنوان بستر پروژة سان جلب شوند. چهار سال بعد پروژة گرين به بار نشست و جاوا تبديل به داغترين موضوع اينترنت شد. همه از برنامه‏نويسان و طراحان صفحات وب گرفته تا كاربران اينترنت مي‏خواهند از جاوا استفاده كنند. سان بلافاصله براي جاوا يك كاوشگر هم توليد كرد اين اولين كاوشگري بود كه مي‏توانست اپلت‏هاي جاوا را اجرا كند و نام آن هم هات جاوا (Hot java) بود.

جاوا چيست:

جاوا يك زبان برنامه‏نويسي شي‏گراي توسعه داده شده توسط شركت سان ميكروسيستم (Sun Microsystem) است. كه كاربردهايي هم در اينترنت دارد. برنامه‏نوسي آبجكت اورينتد (OOP) است كه توانايي آن را دارد كه از لحاظ نرم‏افزاري آن را توسعه دهيم. در OOP يك برنامه كامپيوتر با فكر باز و درست مطرح بود كه باشد يك گروه از اشيا كه با يكديگر ارتباط دارند شكل (روش) ديگري براي بهتر شناختن جاوا اين است كه جاوا مي‏تواند استفاده بشود براي درست كردن برنامه‏هايي كه اجرا مي‏شوند از صفحه‏هاي وب اين برنامه‏ها ناميده مي‏شوند Applets.

ويژگيهاي زبان برنامه‏نويسي جاوا:

1-جاوا است يك محبوب بين‏المللي

2-جاوا كوچك و ساده است

3-جاوا شي‏گرا است.

4-جاوا ايمن است

5-جاوا است يك زبان Multithreaded

6-جاوا يك زبان قابل تفسير است

8-وجود Platformهاي مستقل (لايه‏هاي مستقل)

7 -جاوا هم كامپايلر دارد و هم اينترپرتر

9-جاوا مثل يك زبان سيستمهاي جاسازي شده است.

1-جاوا يك زبان محبوب بين‏المللي است

اگرچه كلمه محبوب بين‏المللي ممكن است كمي اغراق‏آميز باشد. ولي جاوا به سرعت يك انتخاب محبوب براي برنامه‏نويسي كامپيوتر در درون و خارج اينترنت مي‏شود. تعداد زيادي از مردم علاقه دارند كه بدانند چگونه جاوا با سربلندي زندگي مي‏كند.

در مدت زماني كوتاه جاوا يكي از بزرگترين شايعه اينترنت، خبر اصلي روزنامه‏ها و سايتهاي وب و كنفرانسها و بيش از 120كتاب مي‏شود. حتي اگر كمترين تبليغ را مي‏داشت مثل سخت‏افزارهاي Tonya صداي آن به گوش همه مي‏رسيد. زبان برنامه‏نويسي جاوا مزاياي بيشتري از زبانهاي مثل C++ و ويژوال بيسيك دارد.

2-جاوا كوچك و ساده است

جاوا يك زبان بسيار ساده است چون شما را وادار نمي‏كند تا در محيط جديد كار كنيد و اين براي كساني كه اطلاعات فني ناچيزي درباره كامپيوتر دارند مهم است ساختار زبان جاوا در نگاه اول بسيار شبيه C++ است و اين شباهت باعث مي‏شود كه برنامه‏نويساني كه با C و C++ آشنا هستند به راحتي بتوانند با اين زبان كار كنند.

Syntax. آن برنامه‏نويس را تشويق به توليد برنامه‏هاي پيمانه‏اي و قابل نگهداري مي‏سازد.

در هر حال توسعه گران جاوا سعي دارند كه درست كنند زبان راحت‏تر براي نوشتن، اجرا و يادگيري.

3-جاوا شي‏گراست

برنامه‏نويسي شي‏گرا يا (OOP) يك قدرت سازمان يافته و توسعه يافته نرم‏افزاري است.

برنامه‏نويسي شي‏گرايي در واقع سازمان‏دهي يك برنامه مانند يك دستگاهي از اعضا (componement)ها است كه شي‏ها (objects) ناميده مي‏شوند.

اين اشيا مستقل از همديگر زندگي مي‏كنند و قانون‏هايي براي ارتباط با همديگر دارند. زبان جاوا شامل يك مجموعه از كتابخانه‏هاي كلاسها است كه اينها آماده مي‏كنند نوع متغيرهاي اصلي، ورودي سيستم و ظرفيت خروجي و توابع ديگر را.

جاوا همچنين شامل كلاسها براي پشتيباني ناحيه كاري، پروتكل اينترنت و توابع رابط كاربر گرافيكي است.

شي‏گرايي در جاوا به غايت خود رسيده است. جاوا در استفاده از اشيا بسيار مقيد و سخت‏گير است و تخطي از اصول را نمي‏پذيرد.

در C++ شما مي‏توانيد از اشيا به موازات برنامه‏نويسي به سبك قوي استفاده كنيد و اكثراً در پايان كار چنان ملغمه‏اي به وجود مي‏آيد كه مديريت آن نه با روشهاي برنامه‏نويسي شي‏گرا امكان دارد و نه با روش روشهاي قديمي، جاوا ديگر به شما اجازه نمي‏دهد تا خود را در چنين مخمصه‏اي گرفتار كنيد.

4-جاوا ايمن است

جاوا با دور انداختن اشاره‏گرها و بر دوش كشيدن بار مديريت حافظه، برنامه‏نويسان C/C++ را براي هميشه از كابوس‏ها رهايي بخشيده است. علاوه بر آن چون جاوا زباني براي اينترنت است، از ايمني و حفاظت ذاتي بالاتر برخوردار است. طراحان جاوا از ابتدا يك محيط برنامه‏نويسي ايمن را مدنظر داشته‏اند. مسئله حفاظت سيستم‏ها رابطة تنگاتنگي با اشاره‏گرها دارد. اكثر مهاجمان براي ورودي غيرقانوني به سيستم‏هاي ديگران از اين اشاره‏گرها استفاده مي‏كنند. جاوا با حذف اشاره‏گرها اين راه را سد كرده است.

زبان جاوا را كه براي ايجاد Applet ها و هم براي برنام‏هاي كاربردي به كار برده مي‏شود. بيشتر نياز به محيط امن دارد.

زماني كه يك Applet در يك وب پيج ايجاد مي‏شود. Applet توسط نرم‏افزار به تنهايي لود مي‏شود. با كار و تصويرهاي روي صفحه سپس Applet اجرا مي‏شود روي كامپيوتر user.

اين عمل بايد بالا ببرد يك پرچم خطر قرمز را. براي اينكه يك مقدار چيزهاي مضر مي‏توانند رخ بدهند زمانيكه برنامه‏ها اجرا مي‏شوند.

مانندويروسها، اسب‏هاي وابسته (Trojan horses)، شبكه ميكر و سا فت و چيزهاي ديگر.

 

4 - جاوا روي چندين لايه ايمني را آماده كرده است:

4-1) زبان جاوا طراحي شده بينهايت مشكل براي اجراي كدهاي زيان بار.

اين زودودگي از اشاره‏گرها است يك مرحله بزرگ دراين بابت. اشاره‏گرها مي‏توانند استفاده بشوند براي دسترسي جعلي به قسمتهايي از يك برنامه كه دسترسي آزاد نيست و براي دسترسي به مناطقي از حافظه كه فكر مي‏شود آنها تغييرناپذيرند.

4-2) لايه ديگر ايمن جاوا بايت كدهاي تصديق كننده آن است.

برنامه‏هاي جاوا كامپايل مي‏شوند درون مجموعه‏اي از دستورالعمل‏ها كه بايت كد ناميده مي‏شوند.

قبل از اينكه يك برنامه جاوا اجرا شود يك تصديق‏كننده چك مي‏كند هر بايت كد را براي مطمئن شدن كه هر چيزي در آن موردظن و شك خواهد شد.

جاوا چندين حفاظ دارد كه به كار مي‏روند براي اپلت‏ها براي جلوگيري از مخلوط شدن تصادفي يك برنامه استفاده مي‏كنند از خشونت برعليه ديسك يوزر.

يك اپلت نمي‏تواند باز شود يا خوانده شود يا نوشته شود روي فايلهاي سيستم يوزر. فايلها را روي سيستم يوزر. زير اپلت‏هاي جاوا مي‏توانند باز شوند در پنجره‏هاي جديد.

اين پنجره‏ها يك واژه جاوا (كليد جاوا) هستند و كاري كه شناسايي مي‏كند هويت آنهارا دارند.

5-جاوا يك زبان Multithreaded است.

جاوا يك زبان Multithreaded است يك زبان Multithreaded گسترش مي‏دهد اين رفتار براي برنامه‏ها.

بطوريكه بيشتر از يك مجموعه از دستورالعمل‏هاي مي‏توانند اجرا شوند بطور همزمان. جاوا مهيا مي‏كند ابزارهايي براي نوشتن برنامه‏هاي Multithreaded و براي درست كردن اين برنامه‏ها بطور قابل اطمينان در اجرا.

6-جاوا يك زبان تفسيري است.

اين واقعيت كه جاوا يك زبان قابل تفسير است به مسئله امنيت هم كمك مي‏كند از انجايي كه اجراي هريك از برنامه‏هاي جاوا تحت كنترل سيستم حين اجرا انجام شده سيستم فوق مي‏تواند برنامه را دربرگرفته ومانع توليد اثرات جانبي خارج از سيستم گردد.

هنگاميكه يك برنامه تفسير مي‏‌شود معمولاً كندتر از زماني كه به كدهاي اجرايي كامپايل شود اجرا خواهد شد اما در مورد جاوا اين تفاوت در زمان اجرا چندان زياد نيست. يك نكتة ديگر اينكه اگرچه جاوا طوري طراحي شده تا تفسير شود اما محدوديتي براي كامپايل كارهاي بايتي آن به كدهاي معمولي وجود ندارد.

همچنان جنبه‏هاي امنيتي جاوا و قابل حمل آن محفوظ مي‏ماند زيرا سيستم حين اجرا همچنان درگير محيط اجرايي مي‏ماند. بسياري از

محيط‏هاي اجرايي جاوا اين روش درست در آن واحد كامپايل نمودن كدهاي بايتي به كدهاي معمولي را مورد استفاده قرار ميدهند كه چنين سيستم‏هايي فراهم كننده سطوح قابل رقابت با C++ مي‏باشند.

7-جاوا هم كامپايلر دارد و هم اينترپرتر

جاوا ويژگيهاي متعددي دار كه آن را منحصر به فرد كرده است. جاوا هم كامپايلر دارد و هم اينترپرتر. براي اجراي برنامه حتماً بايد اينترپرتر هم روي كامپيوتر موردنظر موجود باشد هر كامپايلر جاوا كد اجرايي (exe) توليد نمي‏كند و در عوض يك فايل بينابيني مي‏سازد كه بايت كد (byte code) نام دارد بايت كد چيزي شبيه به زبان اسمبلي است اما اين زبان مختص هيچ پروسسور خاصي نيست بلكه زبان اسمبلي يك ماشين ويژه به نام ماشين مجازي جاوا.

به نام ماشين مجازي جاوا (java virtual ,machine) است در هنگام اجراي چنين برنامه‏اي اينترپرتر زمان اجراي جاوا (java runtime interprete) كه روي ماشين مجازي جاوا اجرا مي‏شود. دستورات فايل بايت كد را به دستورات قابل فهم براي پروسسوري كه روي آن اجرا مي‏شود تبديل خواهد كرد. شكل زير اين فرآيند رابه تصوير كشيده است:

 

 

 

برنامه‏هاي كاربردي جاوا

اشيا جاوا

ماشين مجازي جاوا

مكينتاش          ويندوز يا OS2

يونيكس

سيستم عامل

يكي از بزرگترين ادعاهاي جاوا، آزاد بودن از بستر سخت‏افزاري است. اگر جاوا بخواهد در اينترنت موفق باشد برنامه‏هاي آن بايد بتوانند بدون هيچ اشكالي روي تمام كاميپوترهاي متصل به اينترنت اجرا شوند. برنامه‏هاي براي يك ماشين مجازي كامپايل مي‏شوند و اين ماشين مجازي در روي تمام كامپيوترهاي متصل به اينترنت نصب مي‏شود اين دقيقاً همان روشي است كه جاوا در پيش گرفته است شايد هرگز تصور نمي‏شد كه برنامه‏اي را كه با يك PC نوشته شده است روي يك ماشين مكينتاش يا يونيكس اجرا شود. ولي اكنون به لطف جاوا اين ديگر آرزويي دست نيافتني نيست.

8-وجود پلت فرم‏هاي مستقل:

plate form: از مجموعه‏اي از قابليتهاي يك سيستم يا Subsytem تشكيل شده است.(منظور از پلت فرم محيط توسعه نرم‏افزار آنهاست).

پلت فرم‏هاي مستقل يك راه ديگري است براي بيان اينكه جاوا به صورت طبيعي معماري شده است. بيشتر نرم‏افزار كامپيوتر براي يك سيستم‏عامل مخصوص توسعه داده شده است.

پلت فرم مستقل توانايي اجراي برنامه‏هاي يكسان براي كار روي سيستم عامل‏هاي مختلف است. جاوا به طور كامل پلت فرم مستقل است. تايپ‏هاي متغيرپذير جاوا ساييز يكسان در همه پلت فرم‏هاي توسعه يافته جاوا دارند. بطوريكه يك اينتيجر هميشه در سايز يكسان است.

هيچ بحثي نيست كه در يك سيستم يك برنامه جاوا نوشته شود كامپايل شود روي آن و همچنين نشان داده شود به وسيله اپلت ما روي وب.

يك فايل كلاس جاوا از دستورالعمل‏هاي بايت كد مي‏تواند هر پلت فرم اجرا شود بدون تغيير دادن.

شركت Sun microsystems در ايجاد جاواي توانا روي سيستم‏هاي مختلف پرتكاپو شده است.

مثلاً رئيس جاوا سافت آلن باراتز (Alan Bratz) مي‏گويد: هر چيزي كه احساس شود، استشمام شود راه رود يا صحبت كند مثل خودش يك پردازشگر است. مثل پلت فرم جاوا.

مفسرهايي وجود دارند كه مي‏توانند برنامه‏ها را براي ويندوز 95 ميكروسافت و NT ورژن 7.5، Apple Macintash، SPARC solaris 2.3 يا بالاتر و Intel X86 solaris اجرا كنند.

9- جاوا مثل يك زبان سيستم‏هاي جاسازي شده است.

توانايي براي اجراي برنامه به وسيله روشهاي كوچك مثل تلفن‏هاي سلول‏دار (خانه خانه) و PDAها يكي از بهترين نگهدارنده اسرار جاوا است.

شركت sun و ديگر سازنده‏هاي سخت‏افزار پي برده‏اند كه ماشين مجازي جاوا مي‏تواند به راحتي در سيليكون انجام شده باشد در انواع تنوع‏هاي زيادي گسترش يابد.

پيش از اين كمپانيها تلفن‏هاي سلولي و PDA را براي اينكه جاوا اجرا شود ايجاد كرده‏اند.

يك روزي ممكن است شما يك يخچال داشته باشيد كه جاوا در آن اجرا شود. اين چه معني مي‏تواند داشته باشد. شايد هيچ چيز مگر اينكه آن شما را مجبور كند تا استفاده كنيد از يك لامپ چهار قطبي به منظور استفاده از يخ درست كن.

برشته كننده (نان سرخ‏كن) معمولاً وسيله‏اي شده كه هر شخصي براي ارتباط با اينترنت مي‏خواهد بله تعدادي اثبات كرده‏اند يك جاوا توانايي توستر شدن را دارد.

ماشين مجازي جاوا:

ماشين مجازي جاوا چيست؟

ماشين مجازي يك قسمت نرم‏افزاري است كه مي‏تواند اجرا شود به وسيله خودش و يا تحت بعضي ديگر از قسمتهاي نرم‏افزاري، مثل يك

 

مرورگر مانند Internet Explorer و يا Hot java. اين قسمت از نرم‏افزار فايلهاي كلاس جاوا را مي‏خواند و دستورالعملهاي آنها را ترجمه مي‏كند. دستورالعمل‏هايي كه سيستم ما اجرا مي‏كند كمي بيشتر نسبت به اين دستورالعملهاي ترجمه شده كاملتر هستند.

برنامه نوشته شده روي هر اپلت در يك فايل filename.java قرار دارد كه برنامه مي‏تواند كامپايل شود و تست شود روي هر سيستم يا يك كامپايل جاوا. آن كامپايلر بايت كد جاوا در يك فايل بنام filename.class توليد مي‏كند.

آنها همان بايت كدهايي هستند كه مي‏توانند تفسير شوند بوسيله هر سيستم داراي يك ماشين مجازي جاوا (JVM).

بعضي سيستم‏ها فقط كامپايلرهايي دارند كه بايت كدهاي جاوا را به كدهاي اصلي تبديل مي‏كنند. در حاليكه ملاحظه مي‏كنيد كه آنها آماده مي‏شوند در مفسر.

تيم طراحي جاوا براي رسيدن به اين هدف ايزوله كردن برنامه‏نويس از ويژگيهاي سيستم و سخت‏افزار يك كامپيوتر مجازي اختراع كرد برنامه‏هاي جاوا در واقع روي آن اجرا مي‏‌شود اين كامپيوتر مجازي كدهاي كامپايلر شده توسط كامپايلر خواهد كرد. ايجاد اشيا پاك‏سازي حافظه هم از وظايف اين ماشين‏ مجازي است. اين سناريو براي تبديل شده به يك واقعيت محكم در اينترنت به يك سيستم حفاظتي هم نياز داشت كه آن هم طراحي و پياده‏سازي شد.

استاندارد و ماشين مجازي جاوا:

ماشين مجازي جاوا يك ماشين انتزاعي و منطقي است كه از هرگونه جزئيات پياده‏سازي مبراست. استاندارد ماشين مجازي هيچگونه صحتبي دربارة پياده‏سازي نمي‏كند. فقط اطلاعات كافي دراختيار طراح مي‏گذارد تا خود به اين امر مبادرت ورزد. استاندارد JVM شامل بخشهاي ذيل است:

1-ساختمان دستوري بايت كد

2-مقدار و نوع اصلاح‏كننده‏ها در بايت كد

3-ساختارهاي حمايتي دركدهاي كامپايلر شده جاوا

4-فرمت فايل class

باوجود اين مقوله‏هاي ذيل باز باقي گذاشته شده است تا طراح بتواند خود دربارة آنها تصميم‏گيري كند.

1-طراحي و مديريت فضاي برنامه داده

2-الگوريتم‏هاي پاكسازي حافظه

3-كامپايلر، محيط برنامه‏نويسي و ساير مقولات اجرايي

4- مسائل بهينه‏سازي كدها و اجراي برنامه

بخشهاي اساسي:

ماشين مجازي جاوا (JVM) پنج بخش مهم و اساسي دارد.

1-مجموعه دستورات بايت كد

2-مجموعه رجيسترها

3-يك پشته

4-يك فضاي كاري

5-فضايي براي ذخيره كردن متدها

بايت كدهاي جاوا:

همانطور كه در قسمتهاي قبلي اشاره شده است بايت كد حاصل كار كامپايلر جاواست. اين كدبايد كوچك و كارآمد باشد بايت كد مستقيماً روي هيچ كامپيوتري قابل اجرا نيست. اما در  JVM اجرا مي‏‌شود. قابليت و انعطاف چه قابليت انتقال جاوا در همين بايت كدها است.

هر دستورالعمل بايت كد شامل يك عملگر يك بايتي و تعدادي عملوند است. پارامترهاي بيش از دو بايت به نحو خاصي ذخيره مي‏شوند. بايت فوقاني (باارزش) ابتدا مي‏آيد و سپس بايت تحتاني قرار خواهد گرفت.

هر نوع داده اوليه درجاوا داراي بايت كد خاصي است چون مديريت بايت‏ها در حافظه نه توسط JVM بلكه توسط كامپايلر انجام مي‏گيرد. مثلاً براي جمع كردن دو عدد صحيح كامپايلر از بايت كد (/ad) استفاده مي‏كند در حاليكه جمع كردن دو عدد اعشاري از بايت كد (fadd) استفاده خواهد كرد.

رجيسترها:

رجيسترهاي JVM درست شبيه رجيسترهاي يك كامپيوتر واقعي هستند.

جاوا داراي رجيسترهاي ذيل است:

1-PC شمارنده برنامه: كه به دستوري كه بايد اجرا شود اشاره مي‏كند.

2-uptop: اشاره‏گري به بالاي پشته پارامترها

3-frame: اشاره‏گري به محيط اجرايي متد فعلي

4-vars: اشاره‏گري به اولين متغير محلي در متدي كه در حال اجراست.

اين رجيسترها همگي 32بيتي هستند.

پشته:

JVM پشته‏گر است. پشته‏هاي جاوا درست شبيه پشته‏ها در زبانهاي برنامه‏نويسي ديگر است.

هر متد خود يك دسته پشته دارد يك دسته پشته سه قسمت دارد: متغيرهاي محلي متد، محيط اجرايي آن و پشته پارامترها، رجيستر 32 بيتي vars به پشته پارامترهاي متد اشاره مي‏كند.

محيط اجرايي در پشته، براي مديريت خود آن است. دراين قسمت اشاره‏گرهايي به دسته پشته قبلي به آراية متغيرهاي محلي متد و به بالا و پايين پشته وجود دارند. پشتة پارامترها يك پشته 32 بيتي FIFO است.

فضاي كاري برنامه:

فضاي كار برنامه قسمتي از حافظه است كه اشيا در آن قرار دارند. معمولاً بزرگترين قسمت از حافظه به اين فضا اختصاص داده مي‌‏شود و در سيستم‏هايي كه از حافظه مجازي پشتيباني مي‏كنند اين فضا مي‏تواند در صورت نياز رشد كند. هر شي برنامه قسمتي از اين فضا را اشغال مي‏كند و برنامه با استفاده از اشاره‏گرها با آنها كار مي‏كند، مديريت اين فضاي كاري برعهده روتين‏هاي پاكسازي خودكار حافظه است و برنامه‏نويس قادر نيست در آن دخالت كند.

فضاي متدها:

بايت كد متدهاي جاوا در قسمت خاصي از حافظه به نام فضاي متدها ذخيره مي‏شوند. چون بايت كدهاي جاوا استرسي از بايت‏ها هستند فضاي متدها يك فضاي 8 بيتي است.

 

انباره ثابت‏ها:

هر برنامه اساساً داراي اجزايي ثابت است. كامپايلر جاوا براي هر كلاس انباره‏اي از اين ثابت‏هاي مي‏سازد كه فرمت خاصي در فايل class دارند.

JDK چيست؟

يك مجموعه از ابزار دستورات خطي است كه مي‏تواند براي اجراي برنامه‏هاي جاوا استفاده شود.

بطوريكه ورژن 1.1 قديمترين نسخه منتشر شده از JDK است و ميتواوند از دنباله آدرسهاي وب دان لود شود.

ورژن 1.1، JDK شامل ابزارهاي جستجو يا دنبال يك كامپايلر، يك مفسر براي اجراي اپليكشن‏هاي همگون كامپايل شده جاوا يك اپلت ديداري براي اجراي اپلت‏هاي جاوا يك ثبت كننده براي ايجاد اسناد بايگاني فشرده شده و چيزهاي سودمند  ديگر.

پيشنهادهاي بيشماري براي JDK، 1.1 است (وجود دارد) كه رابط‏هاي يورز گرافيكي ابزارهايي براي توسعه اشكال‏زدايي و توسعه برنامه و ديگر ظرافت‏ها عرضه كند.

بعضي از اين پيشنهادها به كار مي‏روند براي JDK بطور شفاف و بطور كلي جايگزين ابزارهاي ديگر JDK مي‏شوند.

قبل از انتشار ويژوال J++، مترجم اصلي جاوا براي خانواده پردازنده‏هاي 80x86 (و هنوز مترجم اصلي براي سيستمهاي مبتني بر يونيكس)، اسباب كار توليد و توسعه جاوا (Java Development Kit) (JDK) سان بود.

JDK در اصل از سه برنامه تشكيل شده است:

1-javac. مترجم جاوا كه فايلهاي شي .class را از فايلهاي منبع .java مي‏سازد.

2-java. كه براي اجراي برنامه‏هاي كاربردي جاوا استفاده مي‏شود.

3-applet viewer كه براي اجراي اپلت‏هاي جاوا استفاده مي‏شود.

هر سه اين برنامه‏ها براي اجرا از يك پنجرة MS-DOS از درون ويندوز 95 يا ويندوز NT طراحي شده‏اند.

هم برنامة java و هم برنامه applet viewers مي‏توانند فايلهاي .class توليد شده ويژوال J++ را اجرا كنند به شرطي كه متغير محيطي clASSPATH براي اشاره هم به فهرست جاري و هم فهرست JDK حاوي  كتابخانه اين متغير با ويژوال J++ تداخل دارد و در اين مورد كار نمي‏كند. براي پرهيز از اين مشكل، ClASS PATH را در فايل SETUP.BAT كه وقتي كه پنجره اس داس را باز مي‏كنيد آن را اجرا نماييد قراردهيد به شكلي ديگر مي‏توانيد يك فايل BAT  براي هركدام از فرمانهاي بالا ايجاد كنيد تا ابتدا classPATH را مقداردهي اوليه كند و سپس فرمان JDK مناسب را اجرا كند.

 

API   java Application programming  Interface

API يك مجموعه كلاسهاي استفاده شده براي توسعه برنامه‏هاي جاوا است اين كلاسها در گروههايي به نام package سازمان يافته شده‏اند:

پك كيچ‏ها براي كارهاي زير هستند:

1-متغيرهاي ورودي و دستكاري رشته

2-ايجاد تصوير و دستكاري تصوير

3-فايل ورودي و خروجي

4- شبكه (كار شبكه‏اي)

5-طراحي يوزر رابط گرافيكي و پنجره‏اي

6-برنامه‏نويسي اپلت

7-اشكال و سستي

8-ايمني

9-دسترسي ديتابيس (Data base)

10-ارتباط اپليكيشن توزيع شده

11-اجزا جزئي جاوا

API شامل توابع كافي براي ايجاد اپلت‏ها و اپليكيشن‏هاي پيچيده و مشكل است.

API جاوا بايد ساپرت شود به وسيله همه سيستم‏هاي عامل و نرم‏افزار وب به صورت مساوي براي اجراي برنامه‏هاي جاوا. بنابراين شما مي‏توانيد فايلهاي كلاس موجوديت جاوا را بشماريد زمانيكه برنامه‏تان را توسعه مي‏دهيد.

API جاوا هم اكنوون در ورژن 1.1 است. شركت sun وعده داده است كه تغييراتي در ورژن آتي كه شايد نياز باشد عوض شود به كد اصلي ايجاد نكند.

در هر حال گرايش طبيعي از تغيير شكل نرم‏افزار مي‏گويد كه بعضي قسمتهاي API كهنه خواهند شد، اما آنها هنوز ساپرت مي‏كنند در اين قسمت بخش X1 نوشته شود.

دستورات در جاوا و نحوة برنامه‏نويسي:

يك دستور ساده‏ترين كاري است كه در جاوا مي‏توان انجام داد، هر دستور يك عمل انجام مي‏دهد.

گاهي يك دستور مقدار برگشتي دارد مثل جمع دو عدد. به اين نوع دستورات عبارت گفته مي‏شود. مهمترين چيزي كه در مورد دستورات بايد به خاطر داشته باشيم اين است كه در پايان هر دستور سمي‏كولون (‍;) لازم است. در غير اين صورت برنامه بدرستي كامپايل نخواهد شد و همچنين دستورات يك بلوك درون يك جفت اكولاد ({ }) قرار مي‏گيرند.

در زير نمونه‏اي ساده از دستورات جاوا بيان شده است (مطرح شده است).

 

Int  I=1;

Import java.awt.fant;

System.out.print Ln(This motorcyclse is a

                         + color + “   “ + make;

m.enginestate=true;

جاوا سه نوع توضيح دارد. در نوع اول از /* شروع در خاتمه */ قرار مي‏دهيم.

براي توضيحات تك خطي از // استفاده مي‏كنيم.

نوع سوم توضيح كه برنامه javadoc از آن استفاده مي‏كند با /** شروع و در پايان */ قرار مي‏دهيم.

متغيرها و انواع داده‏ها:

يك متغير (variable) مكانيست در حافظه كه ميتوا ن مقاديري را در آن ذخيره كرد. هر متغير داراي سه چيز است نام، نوع مقدار قبل از استفاده از يك متغير بايد آن را تعريف كرد. درجاوا سه نوع متغير وجود دارد: متغير وهله، متغير كلاس، متغير محلي.

متغيرهاي وهله خواص يك شي خاص را در خود نگه مي‏دارند.

متغيرهاي كلاس مانند متغيرهاي وهله هستند با اين تفاوت كه به وهله‏هاي يك كلاس مربوط مي‏شوند.

متغيرهاي محلي اغلب در درون متدها مورد استفاده كرده همين قدر كه اجراي متد (بلوك) به پايان رسيد، متغيرهاي محلي درون آن هم از بين مي‏روند برخلاف زبانها يديگر جاوا متغير عمومي ندارد براي ارتباط بين اشيا از متغيرهاي وهله و كلاس مي‏توان استفاده كرد.

تعريف متغيرها:

تعريف متغير از يك نوع و يك نام:

int myAge

string myname;

boolean is tired

چند متغير از يك نوع:

int x,y,z

string firstname, lastname;

مقداردهي به متغير درهنگام تعريف:

int myAge, mysize, numshoes= 28;

string myname= “laura”;

boolean is Tired= true

كد مورد استفاده جاوا

جاوا از كاراكترهاي يوني كد (unicode) استفاده مي‏كند. يوني كد استانداردي است كه برخلاف اسكي براي هر كاراكتر از دو بايت استفاده مي‏كند و مي‏تواند در آن واحد تا 6500 كاراكتر را پشتيباني كند.

واژه‏ها: در جاوا براي نمايش مقادير مشخص وساده از واژه‏ها (literal) استفاده مي‏شود اين واژه‏ها مي‏توانند عدد، كاراكتر رشته يا مقادير منطقي باشند.

واژه‏هاي عددي: اعداد صحيح مانند .4 يك واژه صحيح از نوع int است و

واژه‏هاي منطقي: يك واژه منطقي فقط مي‏تواند معادل كلمات كليدي trye يا false باشد.

واژه‏هاي كاراكتري: يك واژه منطقي عبارت است از يك حرف كه با علامت نقل محصور شده باشد.

محاسبات: جاوا داراي پنج عملگر محاسباتي است. (+و و *و /و %)

مقايسه‏ها: جاوا براي مقايسه مقادير عبارات متعددي دارد. تمام اين عبارات يك مقدار boolean (يعني true و false) برميگرداند.

مانند    == تساوي x==3

       = ! نامساوي   x!=3

عملگرهاي منطقي: عباراتي كه مقدار برگشتي آنها boolean است را ميتوان با اپراتورهاي منطقي AND، OR، XOR، NOT باهم تركيب كرد وهمچنين در جاوا مانند زبان C، عملگرهاي بيت‏گرا نيز وجود دارند.

Type يا انواع در زبان java

اين انواع را ميتواتن در چهارگروه به شرح زير تقسيم كرد:

1.characters

2.boolean

3.flooting point number

4.interger

ميتوان از اين typeها همانطوريكه هستند استفاده كرد يا آرايه و انواع كلاسهاي خود را به وجود آورد.

مديريت حافظه:

مديريت حافظه درجاوا كاملاً‌خودكار است. به هر شي به محض ايجاد شدن حافظه لازم تخصيص داده مي‏شود. توابع MALLOC() و FREE () در جاوا هم وجود ندارند براي از بين بردن يك شي كافي است تمام ارجاعات به آن را از بين ببريم.

استفاده از New: براي ايجاد يك شي جديد از يك كلاس بايد از عملگرد new استفاده كرد.

مانند:                  string str= New string ( )

گرفتن مقدار متغيرها:

براي خواندن مقدار متغيرهاي وهله بايد از نامگذاري با نقطه (dot notation) استفاده كرد.

تغيير دادن مقدار متغيرها:

براي دادن مقدار متغيرها كافي است از يك عملگرد انتساب در سمت راست عبارت استفاده كرد.

در پايين برنامه‏اي را مشاهده مي‏كنيد كه دستورات انتساب مقدار به يك شي و ايجاد يك شي را مشاهده كرد.

1.import java.aw.point

2.

 

3.class Testpoint {

4.

5.public static void main (string args [ ] {

6.point the point= new point (10,10);

7.

8.system.out.println (“Xis” + the point.x);

9.system.out.println (“y is” + thepoint)

10.

11.system.out.println (“setting X to 5.”);

12.The point.X=5;

13.system.out.println (“setting Y to 15.”);

14.the point.y= 15;

15.

16.system.out.println (“x is” + the point.x);

17.system.out.println (“Y is” + the point.y);

18.

19. }

20. }

خروجي

X   is       10

Y   is       10

Setting X to 5.

Setting Y to 15.

X   is       5

Y   is       15

آرايه‏ها، شرط‏ها و حلقه‏ها:

آرايه‏ها در زبان جاوا با زبانهاي ديگر فرق اساسي دارد و آن اين است كه آرايه هم درجاوا يك شي است.

تعريف متغير آرايه:

اين كار درست مانند تعريف ساير متغيرهاست. با اين تفاوت كه در مورد آرايه‏ها بايد از يك جفت كروشه ([ ]) بعد از نام متغيير استفاده كرد.

String difficult words [ ];

Point  hits [ ];

Int  temps [ ];

روش ديگر ترعيف متغيرهاي آرايه قرار دادن كروشه‏ها بعد از نام نوع است.

String [ ] difficult words;

Point [ ] hits;

Int [ ]  temps;

ايجاد شي آرايه:

مرحله بعد ايجاد شي آرايه نسبت دادن آن به متغير تعريف شده است براي اين كار دو راه وجود دارد.

1-استفاده از new

مانند:                  string [ ] names= new string [10]

2-مقدار دادن مستقيم به آرايه

string [ ] childs= {“jolopeno”, …};

دستورات بلوك:

به چند دستور يك جفت اكولاد ({ }) يك دستور بلوكي گفته مي‏شود.

 

 

شرط‏هاي if:

با شرط if مي‏تواند كد متفاتي را براسا نتيجه يك تست اجرا كرد. هر شرط if يك تست منطقي دارد كه اين دستور شبيه به زبان C است.

شرط‏هاي switch:

يكي از رايجترين كارها در برنامه‏نويسي مقايسه يك متغير با چند مقدار مشخص است كه مثال زير نحوه استفاده از swich را نشان مي‏دهد.

Swich (oper) {

      Case ‘+’:

               Addargs (arg 1, arg2);

               Break;

Case’

Subarge (arg1, arg2);

Break;

Case ‘-‘:

Multargs (arg1, arg2);

Break;

Case ‘/’:

Divargs (arg1, arg2);

Break;

}

حلقه‏هاي for:

حلقه for ماننده c، يك بلوك دستورات را تا رسيدن به حالتي خاص، به دفعات مشخص انجام مي‏دهد. حلقه for كه موارد استفاده زيادي دارد مانند ذيل است:

for (initialization ; test; increment) {

               statements;

}

حلقه‏هاي do , while:

در جاوا علاوه بر حلقه for، حلقه‏هاي while و do هم براي انجام يك كار تكراري وجود ندارند. در اين حلقه‏ها هم تست انجام شده بايد يك تست منطقي باشد شكل زير را دارند:

while (condition) {

      body of loop;

}

خلاصه‏اي درباره كلاس‏ها در جاوا:

تعريف: براي تعريف كلاس از كلمه كليدي class استفاده مي‏كنيم.

Class myclassName {

 

      }

دراينجا فقط اشاره‏اي به كلاس مي‏كنيم. و اينكه در برنامه‏نويسي جاوا از كلاس چگونه استفاده مي‏كنيم از موضوع مورد بحث خارج است.

در زير خلاصه‏اي از دستورات مربوط به زبان برنامه‏نويسي جاوا آورده شده است.

كليات اپلت‏هاي جاوا:

تفاوت اپلت با برنامه:

برنامه‏هاي جاوا را ميتوان به صورت مستقل، با كمك اينتر پرتر جاوا اجرا كرد. ولي اپلت‏هاي جاوا بايد در يك كاوشگر وب اجرا شوند. اين اپلت‏ها با كمك برچسب‏هاي HTML در دل صفحات وب قرار داده مي‏شوند. با آنكه اپلت‏ها قابليتهاي گرافيكي بيشتري دارند محدوديتهايي هم دارند. اين محدوديت‏ها از آنجا ناشي مي‏شوند كه اپلت‏ها اصولاً برنامه‏هايي خارجي هستند و براي جلوگيري از صدمات احتمالي اپلت‏هاي موذي بايد سدهايي سرراه آنها تعبيه كرد. باوجود تمام سدهاي جاو درمقال اپلت‏ها ويروسهايي با اين اپلت نوشته شده است كه نشان ميدهد حتي اين محدوديتها هم نمي‏تواند جلوي موذيگري عده‏اي را بگيرد. ولي به هر حال بودن آنها از نبودنشان بهتر است.

مهمترين اقدامات يك اپلت:

در طول زندگي يك اپلت اتفاقات زيادي مي‏تواند بيفتد هريك از اين رويدادها داراي يك متد خاص خود هستند.

متدهاي مهم عبارتند از: آماده‏سازي (intialization) شروع (strating)، توقف (stopping)، تخريب (destroying) و رنگ اميزي (painting).

در برنامه زير يك اپلت ساده را مشاهده مي‏كنيد:

 

اپلت  Hello again

1: import java.awt.Graphics;

2: import java.awt.font;

3: import java.awt.color;

4:

5: public class Hello Again Applet extends  java.applet.Applet {

6:

7: font f=new font (“Times Roman.” Font. 301D,36);

8:

9: public void paint (Graphics g) {

10: g.set font (f);

11. g.set color (color.red);

12. g.drowstring (“Hello again!” ,5,50)

13:  }

14:

تحليل برنامه:

دراين اپلت متد paint( ) تحريف شده است. چون اين يك اپلت واقعاً ساده است، متدهاي init()، start()، stop() ندارد. كار اصلي متد (چاپ پيام “Hello again!") در متد painto انجام مي‏شود. در خط‏هاي 10 و 11 فونت و رنگ شيء گرافيكي ارسال شده به اپلت (g) سست ميشود. چاپ پيام در خط 12 انجام مي‏گيرد متد drawstring كد پيام را مي‏نويسد.

تفاوتهاي بين java و java script 

اكثر مردم اشتباه مي‏كنند بين java script با java كه هست يك زبان برنامه‏نويسي توسعه يافته به وسيله شركت sun microsystem هريك usnet newsgroup خودش را دارند. با اين حال مردم تكراري مي‏كنند سوالات گذشته‏شان را در مورد java از گروه خبري java script و بالعكس.

Java يك زبان برنامه‏نويسي است و java script يك زبان scripting يك زبان scripting است. برنامه‏هاي جاوا در server كامپايل مي‏شوند شما مي‏توانيد بنويسيد برنامه‏هاي آماده تنها در جاوا scriptهاي نوشته شده در java script ترجمه مي‏شوند به وسيله browser شما نمي‏توانيد بنويسيد برنامه‏ها يstand-aloneت در java script شما نياز داريد كي Browser تا java script را ترجمه كنيد.

Hava يك object orieted است. آن به كار مي‏برد كلاسها ارث بري را آن تامين مي‏كند. كپسوله‏سازي داده‏ها را java script يك object-based است وجود ندارد هيچ كلاسي و هيچ ارث‏بري‏اي. داده‏ها در داخل objectها آماده دسترسي هستند.

java script كامپايل ميشود توي applet ها كه قابل دسترسي از صفحه HTML است.

java script در HTML جاسازي شده است.

Java نياز به تعريف نوع داده دارد. نوع‏هاي قوي را كه يك تابع انتظار داشته باشد يكي از آرگومانهاي عدد باشد تابع نخواهد پذيرفت يك رشته كاراكتري را java script برطرف كرده سات نوع‏ها را java script عددها، رشته‏هاي كاراكتري و Booleam را (داده منطقي yes,No، true/false، on/off) و بطور آزادانه آنها به هم تبديل مي‏شوند.

تصاوير در جاوا:

Appletهاي جاوا به طور تكرار شونده نياز به نمايش تصاوير دارند. بعضي وقتها اين تصاوير به صوتر فايلهاي GIF و JPEG هستند كه اجرا مي‏شوند از يك web server.

در مواقع ديگر آنها تصويرهايي هستن كه به صورت دروني به وسيله اپلت‏ها ايجاد شده‏اند شما مي‏توانيد همچنين ايجاد كنيد كلاسهايي كه لودمي مي‏كنند تصاوير جاوا را در نوع‏هاي ديگري از GIF و JPEG.

يكبار ديگر شما تصوير جاوا را ايجاد مي‏كنيد شما مي‏توانيد همچنين نمايش دهيد آن را براي استافده كلاس گرافيك AWT و يا شما مي‏توانيد فيلترهاي مختلف درخواست كنيد براي عوض كردن نمايش تصوير.

زمانيكه شما يك تصوير را نمايش مي‏دهيد شما مي‏توانيد همچنين آن طوري كه است آن را بكشيد.

ماشين فيلتر تصاوير جاوا بسيار قدرتمند است. آن به شما اجازه مي‏دهد كه كلاسهايي كه تغيير مي‏دهند نمايش يك تصوير را ايجاد كنيد. براي اينكه فيلترها ابزاري مثل كلاس‏ها هستند. يكبار ديگر شما مي‏توانيد ايجاد كنيد يك فيلتري كه يك وظيفه ديداري مخصوص انجام مي‏دهد. شما مي‏توانيد از فيلتر در هر تعداد از اپلت‏ها و درخواستها استفاده كنيد.

جاوا به اپلت شما اجازه مي‏دهد كه اجرا شود درحاليكه تصاوير هنوز دان لود مي‏شوند.

اين برنامه استفاده از اپلت براي ايجاد تصوير را نشان مي دهد.

Import java.applet.Applet;

Import java.applet.Graphics;

Import java.applet.Image;

// This is a simple example applet that loads an image and

// display it.

Public class DrawImage extends Applet

{

Image image;

Public void init ( )

{

      image= getImage (getDocumentBase ( ) , “samantha.gif”);

}

public void paint (Graphics g)

{

      g.JrawImage (image , 10, 10, this);

}

}

Applet security                   Applet

 



ايمني اپلت:

بطور عمومي به ايمني Applet همانند يك درد لازم به وسيله بيشتر برنامه‏هاي جاوا توجه شده است. توانايي اجراي برنامه Fly- on-the يك مزاياي اصلي است اما آن همچنين يك ابزار شگفت‏انگيز براي افرادي از مردم است كه دوست دارند ويروسهايي را بنويسند كه PC شما را آلوده كند. 


 Copyright © 2015. PARTO GOSTAR IRIC Company - PGICO.IR

Top