برنامه نويسي به زبان جاوا
چكيده: 
موضوع مورد بحث در اين متن
برنامهنويسي جاوا ميباشد. همانطور كه در دنياي كنوني مشاهده ميكنيم زبان جاوا
به خاطر دارا بودن ويژگيهايي محبوب شده است. به همين دليل لزوم يادگيري اين زبان و
آشنايي با نحوة برنامهنويسياش يكي از كارهاي مهم است. 
زبان
برنامهنويسي جاوا چيست؟ چرا به وجود آمد. داراي چه قابليتهايي ميباشد. روش
كامپايلرهايش چگونه است ساختار برنامهنويسياش به چه صورت است و بسياري موارد
ديگر كه در مورد زبان جاوا مطرح است. 
دراين
متن مرور مختصري دربارة تاريخچه جاوا و چگونگي تكامل آن بحث خواهد شد و در ادامه
بحث به بررسي زبان جاوا و اينكه چه خصوصيات و ويژگيهايي منحصر به فردي دارد كه
باعث محبوب شدنش شده است را بررسي خواهيم كرد و سپس به بررسي كامپايلر جاوا و
مرورگرهاي آن خواهيم داشت كه چه چيزي هستند چه خصوصيات دارند و همچنين تفاوت سه
جاوا يعني 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 
فهرست 
تاريخچه
جاوا…………………………...……………………………………….7 
تكامل
جاوا…………………….……...…………………………………………9 
جاوا
چيست……………………………………………………………………10 
ويژگيهاي
زبان برنامهنويسي جاوا .……………….……….……….……11 
ماشين
مجازي جاوا……………....……………………………..…………20 
استاندارد
ماشين مجازي جاوا ……………………………………………22 
بخشهاي
اساسي ماشين مجازي جاوا……………...…………..……23 
JDK چيست……………..……………………………………………………26 
API …………….…………………………...…………………………………28 
دستورات
در جاوا و نحوة برنامهنويسياش …………….………….…29 
كليات
اپلتهاي جاوا ...……………..………………..……………………38 
تفاوت
اپلت با برنامه ……………..………………..………………………38 
تفاوتهاي
بين javascript, java ……………..……………….…………39 
تصاوير
در جاوا…………….……………….…………………………………41 
ايمنياپلت….………….…………………….………………………………43 
تاريخچة
جاوا: 
نگاهي
به وب و اينترنت و چگونگي به وجود آمدن جاوا: 
چون
جاوا رابطهاي تنگاتنگ با اينترنت دارد بهتر است در ابتدا نگاهي به تاريخچه وب و
اينترنت داشته باشيم. 
اينترنت
به عنوان يك پروژة دولتي ايالات متحدة آمريكا در سال 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). 
بعضي
سيستمها فقط كامپايلرهايي دارند كه بايت كدهاي جاوا را به كدهاي اصلي تبديل
ميكنند. در حاليكه ملاحظه ميكنيد كه آنها آماده ميشوند در مفسر. 
 
  
  
  
  
 
 
  
  
  
   
    
    
    Developer 
Authoring 
Java Application                                                
تيم
طراحي جاوا براي رسيدن به اين هدف ايزوله كردن برنامهنويس از ويژگيهاي سيستم و
سختافزار يك كامپيوتر مجازي اختراع كرد برنامههاي جاوا در واقع روي آن اجرا ميشود
اين كامپيوتر مجازي كدهاي كامپايلر شده توسط كامپايلر خواهد كرد. ايجاد اشيا
پاكسازي حافظه هم از وظايف اين ماشين مجازي است. اين سناريو براي تبديل شده به
يك واقعيت محكم در اينترنت به يك سيستم حفاظتي هم نياز داشت كه آن هم طراحي و
پيادهسازي شد.
استاندارد
و ماشين مجازي جاوا: 
ماشين
مجازي جاوا يك ماشين انتزاعي و منطقي است كه از هرگونه جزئيات پيادهسازي مبراست.
استاندارد ماشين مجازي هيچگونه صحتبي دربارة پيادهسازي نميكند. فقط اطلاعات كافي
دراختيار طراح ميگذارد تا خود به اين امر مبادرت ورزد. استاندارد 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 شما را آلوده كند. 
خوشبختانه
طراحان جاوا به طور گسترش يافتهاي مدل ايمني را كه محافظت ميكند از سيستم شما را
از حملههاي از روي عناد توسعه دادهاند. شما ممكن است ببنيدي تعدادي از متدهاي
حفاظت از تحديد كه هستند كه براي حفاظت شما از اجراي  نادانسته يك برنامه بدانديش كه ميتواند مخفي
شده باشد روي وب پيج. 
شما
مجبوريد به طور دستي اجرا كنيد يك اپليكيشن روي موقعيت سيستم نان. در هر احل شما
مسئوليت اگر اپليكيشن بدانديش است. محافظت از تحديد تغيير مييابد از مرورگري به
مرورگر ديگر. 
Net
scape براي
نمونه يك مدل محافظتي است و محكم دارد اگرچه Hot
java به
شما اجازه ميدهد switch off كنيد تعدادي از محافظتهاي تحديد. ورژن 3 اينترنت ايكس پرولر-
پشتيباني ميكند از چندين مدل محافظتي
 
       + نوشته شده در سه شنبه هفدهم دی ۱۳۹۲ ساعت 19:17 توسط 
        |