انجام پروژه VHDL و Verilog و FPGA
آگوست 3, 2017
انجام پروژه با متلب
آگوست 5, 2017

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

  • انجام پایان نامه
  • انجام شبیه سازی کامپیوتری
  • پایان نامه مهندسی کامپیوتر

 

یارآموزان، یار آموزشی شما همین حالا سفارش دهید !

گروه تخصصی یارآموزان با داشتن دپارتمان تخصصی انجام پایان نامه مهندسی کامپیوتر در کنار شماست. این دپارتمان انجام پایان نامه و پروپوزال در رشته مهندسی کامپیوتردر گرایش های مختلف را پشتیبانی میی کند.گروهه تخصصی یارآموزان با بهره گیری از دانشجویان و فارغ التحصیلان مقطع دکتری از دانشگاه های برترر ایران،آمادهه ارائه مشاوره به دانشجویان سراسر ایران و راهنمای آنها جهت انجام پایان نامه دکتری و کارشناسی ارشد، نوشتن پروپوزال با کیفیت بهتر است.

 

 

 

Java programming

 

چکیده:

 

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

 

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

 

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

 

 

تاریخچه جاوا:

 

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

 

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

 

اینترنت به عنوان یک پروژه دولتی ایالات متحده آمریکا در سال ۱۹۶۹ بدنیا آمد. این پروژه که در ابتدا آرپانت (ARPANET) نام داشت فقط چهار کامپیوتر را در نقاط مختلف ایالات متحده بهم وصل می‏کرد. آرپانت به تدریج رشد کرد و در سال ۱۹۷۲ پنجاه دانشگاه و مرکز تحقیقاتی نظامی در آن فعال بودند در اواخر دهه ۱۹۸۰ متجاوز از هشتادهزار کامپیوتر  در این شبکه عظیم به هم متصل شدند و امروزه نزدیک به ۱۰۰ میلیون کاربر در این شبکه عضویت دارند و اینترنت به تمام زوایای زندگی رسوخ کرده است.

 

با آنکه اینترنت جوان نیست اما از تولد وب (World wide web-www) زمان زیادی نمی‏گذرد وب در سال ۱۹۸۹ در آزمایشگاه ارزیابی فیزیک ذرات (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) که شرکت سان در سال ۱۹۹۱ آن را شروع کرد به موفقیت  می‏انجامید امروز نه سان دیگر یک شرکت کامپیوتری می‏بود و نه جاوا متولد می‏شد.

 

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

 

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

 

جاوا چیست:

 

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

 

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

 

۱-جاوا است یک محبوب بین‏المللی

 

۲-جاوا کوچک و ساده است

 

۳-جاوا شی‏گرا است.

 

۴-جاوا ایمن است

 

۵-جاوا است یک زبان Multithreaded

 

۶-جاوا یک زبان قابل تفسیر است

 

۸-وجود Platformهای مستقل (لایه‏های مستقل)

 

۷ -جاوا هم کامپایلر دارد و هم اینترپرتر

 

۹-جاوا مثل یک زبان سیستمهای جاسازی شده است.

 

۱-جاوا یک زبان محبوب بین‏المللی است

 

اگرچه کلمه محبوب بین‏المللی ممکن است کمی اغراق‏آمیز باشد. ولی جاوا

 

به سرعت یک انتخاب محبوب برای برنامه‏نویسی کامپیوتر در درون و خارج اینترنت می‏شود. تعداد زیادی از مردم علاقه دارند که بدانند چگونه جاوا با سربلندی زندگی می‏کند.

 

در مدت زمانی کوتاه جاوا یکی از بزرگترین شایعه اینترنت، خبر اصلی روزنامه‏ها و سایتهای وب و کنفرانسها و بیش از ۱۲۰کتاب می‏شود. حتی اگر کمترین تبلیغ را می‏داشت مثل سخت‏افزارهای Tonya صدای آن به گوش همه می‏رسید. زبان برنامه‏نویسی جاوا مزایای بیشتری از زبانهای مثل C++ و ویژوال بیسیک دارد.

 

۲-جاوا کوچک و ساده است

 

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

 

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

 

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

 

۳-جاوا شی‏گراست

 

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

 

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

 

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

 

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

 

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

 

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

 

 

 

 

 

۴-جاوا ایمن است

 

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

 

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

 

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

 

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

 

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

 

۴ – جاوا روی چندین لایه ایمنی را آماده کرده است:

 

۴-۱) زبان جاوا طراحی شده بینهایت مشکل برای اجرای کدهای زیان بار.

 

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

 

۴-۲) لایه دیگر ایمن جاوا بایت کدهای تصدیق کننده آن است.

 

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

 

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

 

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

 

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

 

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

 

۵-جاوا یک زبان Multithreaded است.

 

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

 

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

 

۶-جاوا یک زبان تفسیری است.

 

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

 

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

 

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

 

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

 

۷-جاوا هم کامپایلر دارد و هم اینترپرتر

 

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

 

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

 

برنامه‏های کاربردی جاوا

 

اشیا جاوا

 

ماشین مجازی جاوا

 

مکینتاش          ویندوز یا OS2

 

یونیکس

 

سیستم عامل

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

مفسرهایی وجود دارند که می‏توانند برنامه‏ها را برای ویندوز ۹۵ میکروسافت و NT ورژن ۷٫۵، Apple Macintash، SPARC solaris 2.3 یا بالاتر و Intel X86 solaris اجرا کنند.

 

۹- جاوا مثل یک زبان سیستم‏های جاسازی شده است.

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

Developer

 

Authoring

 

Java Application

 

 

 

 

 

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

 

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

 

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

 

۱-ساختمان دستوری بایت کد

 

۲-مقدار و نوع اصلاح‏کننده‏ها در بایت کد

 

۳-ساختارهای حمایتی درکدهای کامپایلر شده جاوا

 

۴-فرمت فایل class

 

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

 

۱-طراحی و مدیریت فضای برنامه داده

 

۲-الگوریتم‏های پاکسازی حافظه

 

۳-کامپایلر، محیط برنامه‏نویسی و سایر مقولات اجرایی

 

۴- مسائل بهینه‏سازی کدها و اجرای برنامه

 

بخشهای اساسی:

 

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

 

۱-مجموعه دستورات بایت کد

 

۲-مجموعه رجیسترها

 

۳-یک پشته

 

۴-یک فضای کاری

 

۵-فضایی برای ذخیره کردن متدها

 

بایت کدهای جاوا:

 

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

 

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

 

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

 

رجیسترها:

 

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

 

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

 

۱-PC شمارنده برنامه: که به دستوری که باید اجرا شود اشاره می‏کند.

 

۲-uptop: اشاره‏گری به بالای پشته پارامترها

 

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

 

۴-vars: اشاره‏گری به اولین متغیر محلی در متدی که در حال اجراست.

 

این رجیسترها همگی ۳۲بیتی هستند.

 

پشته:

 

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

 

هر متد خود یک دسته پشته دارد یک دسته پشته سه قسمت دارد: متغیرهای محلی متد، محیط اجرایی آن و پشته پارامترها، رجیستر ۳۲ بیتی vars به پشته پارامترهای متد اشاره می‏کند.

 

محیط اجرایی در پشته، برای مدیریت خود آن است. دراین قسمت اشاره‏گرهایی به دسته پشته قبلی به آرایه متغیرهای محلی متد و به بالا و پایین پشته وجود دارند. پشته پارامترها یک پشته ۳۲ بیتی FIFO است.

 

فضای کاری برنامه:

 

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

 

فضای متدها:

 

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

 

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

 

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

 

JDK چیست؟

 

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

 

بطوریکه ورژن ۱٫۱ قدیمترین نسخه منتشر شده از JDK است و میتواوند از دنباله آدرسهای وب دان لود شود.

 

ورژن ۱٫۱، JDK شامل ابزارهای جستجو یا دنبال یک کامپایلر، یک مفسر برای اجرای اپلیکشن‏های همگون کامپایل شده جاوا یک اپلت دیداری برای اجرای اپلت‏های جاوا یک ثبت کننده برای ایجاد اسناد بایگانی فشرده شده و چیزهای سودمند  دیگر.

 

پیشنهادهای بیشماری برای JDK، ۱٫۱ است (وجود دارد) که رابط‏های یورز گرافیکی ابزارهایی برای توسعه اشکال‏زدایی و توسعه برنامه و دیگر ظرافت‏ها عرضه کند.

 

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

 

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

 

JDK در اصل از سه برنامه تشکیل شده است:

 

۱-javac. مترجم جاوا که فایلهای شی .class را از فایلهای منبع .java می‏سازد.

 

۲-java. که برای اجرای برنامه‏های کاربردی جاوا استفاده می‏شود.

 

۳-applet viewer که برای اجرای اپلت‏های جاوا استفاده می‏شود.

 

هر سه این برنامه‏ها برای اجرا از یک پنجره MS-DOS از درون ویندوز ۹۵ یا ویندوز NT طراحی شده‏اند.

 

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

 

API   java Application programming  Interface

 

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

 

پک کیچ‏ها برای کارهای زیر هستند:

 

۱-متغیرهای ورودی و دستکاری رشته

 

۲-ایجاد تصویر و دستکاری تصویر

 

۳-فایل ورودی و خروجی

 

۴- شبکه (کار شبکه‏ای)

 

۵-طراحی یوزر رابط گرافیکی و پنجره‏ای

 

۶-برنامه‏نویسی اپلت

 

۷-اشکال و سستی

 

۸-ایمنی

 

۹-دسترسی دیتابیس (Data base)

 

۱۰-ارتباط اپلیکیشن توزیع شده

 

۱۱-اجزا جزئی جاوا

 

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

 

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

 

API جاوا هم اکنوون در ورژن ۱٫۱ است. شرکت sun وعده داده است که تغییراتی در ورژن آتی که شاید نیاز باشد عوض شود به کد اصلی ایجاد نکند.

 

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

 

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

 

یک دستور ساده‏ترین کاری است که در جاوا می‏توان انجام داد، هر دستور یک عمل انجام می‏دهد.

 

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

 

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

 

Int  I=1;

 

Import java.awt.fant;

 

System.out.print Ln(This motorcyclse is a

 

+ color + “   “ + make;

 

m.enginestate=true;

 

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

 

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

 

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

 

 

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

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

 

مهمترین اقدامات یک اپلت:

 

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

 

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

 

فرم ثبت سفارش

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *