انجام پایان نامه

درخواست همکاری انجام پایان نامه  بانک مقالات رایگان انجام پایان نامه

سفارش پایان نامه

|

انجام پایان نامه ارشد

 پایان نامه 

پایان نامه‏ کامپیوتر

انجام پایان نامه‏ ارشد کامپیوتر

مقدمه :
جاوا شباهت‌هایی به سی‌پلاس‌پلاس دارد، ولی قابلیت انتقال آن بهتر است و استفاده از آن ساده تر از ++C است. همچنین مدیریت حافظه نیز توسط خود ماشین مجازی جاوا انجام می‌شود. طراحی این زبان به گونه ایست که دارای اطمینان بسیاری بوده و وابسته به سیستم عامل خاصی نیست. و دلیل این موضوع این است که جاوا یک ماشین مجازی در سیستم شما راه می‌اندازد و برنامه‌ها را در آن ماشین مجازی اجرا می‌کند. این ماشین مجازی «ماشین مجازی جاوا» یا به اختصار JVM نامیده می‌شود. البته راه انداختن یک ماشین مجازی باعث دو مشکل می‌شود. هنگامی که نرم‌افزار شما در یک ماشین مجازی اجرا می‌شود سرعت کمتری خواهد داشت، همچنین شما نیاز دارید قبل از اجرای برنامه‌های جاوا یکبار سیستم مجازی جاوا را که حجم نسبتاً بالایی دارد، از اینترنت بارگذاری و یا از جای دیگری تهیه و نصب کنید ولی مزیت آن عدم وابستگی به سیستم عامل مقصد است.

تاریخچه زبان جاوا
زبان جاوا در سال ۱۹۹۱ ایجاد شد و در ابتدا Oak نام گرفت. پیدایش آن از پروژه ای به نام Green منشا گرفت که زیر نظرJames Gosling و با هدف اتوماسیون وسایل خانگی دنبال می شد. و Oak را در برنامه ریزی این دستگاه ها به عنوان زبانی قدرتمند به کار گرفتند. ولی تا سال ۱۹۹۴ این پروژه در ناامیدی دنبال می شد، تا اینکه این تیم توسعه پس از تغییر رویه اینترنت را در اهداف کار خود گنجاند.
Oak به Java تغییر نام داده شد تا بتواند به عنوان نشان تجاری ثبت شود. Netscape Navigator ۲.۰ در سپتامبر سال ۱۹۹۵ از این زبان، که به صورت Applet بکار می رفت، پشتیبانی کرد و Microsoft در اواخر سال ۱۹۹۵ آن را بکار گرفت.
از آن زمان به بعد توانایی های این زبان رو به فزونی گذاشت. در سال ۱۹۹۶ شرکت Sun Microsystems نگارش ۱.۰ از Java Development Kit را توسعه داد. و سال بعد نگارش ۱.۱ از JavaBeans پشتیبانی کرد. در سال ۱۹۹۷ شرکت Sun بر علیه Microsoft شکایت کرد و این شرکت را متهم به نقض توافقنامه مربوط به استفاده از Java در Internet Explorer کرد. بعد از این سان JDK ۱.۲ و Swing را، که ابزار پیشرفته تری نسبت به (AWT (Abstract Windowing Toolkit برای ایجاد رابط گرافیکی کاربر(GUI) فراهم می کرد، ارایه کرد. در حال حاضر JDK در نگارش ۵.۰ وبا ویژگی های جدیدی در دسترس است. و با نام J۲SE) Java ۲ Standard Edition) نیز شناخته می شود. در کنار آن J۲EE Java ۲ Enterprise Edition (که درحال حاضر در نگارش ۱.۴ است) برای کاربردهای تجاری ارایه شد. J۲EE تکنولوژی هایی از قبیل Enterprise JavaBeans EJB), Servlets, JavaServer Pages) و … را در بر می گیرد.
Java زبانی برای برنامه های توزیع شده است و زبانی شناخته شده در سطح جهانی است که به کاربر امکان تعامل (interaction) با یک صفحه وب را می دهد و برخلاف صفحات ایستای HTML فراتر از خواندن ویا فقط پر کردن یک فرم، برای کاربر امکان بازی، چت، انجام محاسبات درصفحات گسترده، و حتی دریافت اخباری که به صورت همزمان به روز رسانی می شوند و خیلی چیزهای دیگر را فراهم می کند. Java همچنین مستقل از سیستم عامل است. به این معنی که شما یک برنامه را یکبار می نویسید و این برنامه بر روی هر سیستم عاملی که ماشین مجازی جاوا (Java Virtual Machine) یا به اختصار JVM بر روی آن نصب باشد به همان شکل و بدون نیاز به هیچگونه تغییری قابل اجرا خواهد بود. Java زبانی ساده، کاملا شی گرا، با امنیت بالا و دارای امکانات چندبندی (Multi-threading) است. از نگارش ۱.۲ به بعد ابزارهای Swing، جاوا را به زبانی آسان و جذاب برای ایجاد یک GUI کاربر پسند تبدیل کرده اند.
از نقطه نظر دیگر می توان گفت: که جاوا یک زبان مستقل از سیستم عامل نیست بلکه همانند یک سیستم عامل مستقل و کوچک عمل می کند. همان طور که درWindows زبان های برنامه نویسی امکان اجرا در بستر (Platform) مربوط به Windows/Intel را دارند، برنامه های جاوا امکان اجرا در Java/JVM را دارند. و همانند Windows، جاوا هم یک بستر نرم افزاری، تجاری و منحصر به یک شرکت است.
کپی
جاوا در مقایسه با سایر زبان‌ها همچون سی‌پلاس‌پلاس یا Basic یا Fortran زبان نسبتاً جدیدی است. شرکت سان میکروسیستمز (یا به اختصار سان) در سال 1991 یک پروژه تحقیقاتی به نام Green را آغاز کرد. هدف این پروژه ایجاد یک زبان جدید شبیه به C++ بود که نویسنده اصلی آن، جیمز گاسلینگ، آن را بلوط Oak می نامید. اما بعدها به دلایل مشکلات حقوقی نام آن به جاوا تغییر کرد. پروژه گرین به دلیل مشکلات بازاریابی در شرف لغو شدن بود تا اینکه گسترش وب در سال 1993 باعث نمایش توانایی‌های وافر جاوا در این عرصه گشت. و به اینگونه بود که سان در می 1995 جاوا را رسما افتتاح کرد.


برنامه‌های جاوا و اپلت‌ها
جاوا برای نوشتن انواع برنامه‌های کاربردی مناسب است. با جاوا می‌توان انواع برنامه‌های زیر را نوشت:
•    برنامه‌های تحت وب؛
•    برنامه‌نویسی سیستم‌های کوچک مانند موبایل، پاکت پی‌سی و ...؛
•    برنامه‌های کاربردی بزرگ (Enterprise)؛
•    برنامه‌های رومیزی (Desktop)؛
•    و غیره.
قابلیت خاصی در جاوا وجود دارد بنام اپلت. اپلتها امکانات فراوانی برای نوشتن برنامه‌های تحت وب در اختیار برنامه نویسان قرار می‌دهند که دیگر زبانهای برنامه نویسی فاقد آن هستند.[نیاز به ذکر منبع] البته وجود ماشین مجازی جاوا برای اجرای اپلت لازم است.
از برتری‌های جاوا نسبت به زبانهای مایکروسافتی مثل سی‌شارپ که بسیار شبیه این زبان هست می‌توان موارد زیر را نام برد:[نیاز به ذکر منبع]
1 - سیستم عامل: هر چقدر زبانهای .net قوی باشند تنها بر روی پلت فرم ویندوز اجرا می‌شوند و برخی ویندوز را سیستم عامل غیر قابل اعتمادی در برنامه نویسی Enterprise می دانند.[نیاز به ذکر منبع] ولی جاوا از این نظر انتخابی خوب است. (هنوز پروژه mono به نتایج پایانی خود نرسیده)
2- قابلیت حمل: جاوا بر روی پلتفرم‌های گوناگونی قابل اجرا است، از ATM و ماشین رختشویی گرفته تا سرورهای سولاریس با قابلیت پشتیبانی از 1024 cpu برای پردازش.
3- جاوا بیشتر از یک زبان است: جاوا فقط یک زبان نیست و انجمن‌هایی متشکل از بزرگان صنایع و برنامه‌نویسان زیادی مشغول به توسعه و ایجاد استانداردهای جدید و به روز هستند.
 
تکنولوژی‌های اصلی جاوا در حال حاضر
•    برنامه‌نویسی برای سیستم‌های رومیزی (J2SE)
•    برنامه‌نویسی سمت سرور (J2EE) که به تازگی به JAVA EE 5 تغییر نام داده است.
•    برنامه‌نویسی برای سیستم‌های موبایل و رایانه‌های کوچک (J2ME)

توزیع‌های جاوا
در حال حاضر چهار توزیع کننده عمده جاوا وجود دارند:
سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن می باشد. در اکثر موارد هنگامی که گفته می‌شود جاوا منظور توزیع سان می باشد. تاکنون 7 توزیع از این شرکت ارائه شده اند. جاوا 1.0 - 1.1 - که به جاوا 1 مشهورند. جاوا 1.2 – 1.3. 1.4 و 1.5 که به جاوا 2 مشهورند اخیرا نیز توزیع 1.6 از جاوا با کدرمز ماستانگ به صورت آزمایشی منتشر شده است. قابل ذکر است توزیع‌های جاوا بر روی اکثر سیستم عامل‌ها مانند ویندوز، یونیکس و سولاریس، لینوکس و موارد مشابه عرضه شده است.
GNU Java یا gcj کمپایلر کدباز جاوا می باشد. این توزیع از سوی موسسه نرم افزارهای آزاد منتشر شده و فعلا تنها در سیستم عامل‌های لینوکس قابل استفاده است. این کمپایلر توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست.
مایکروسافت J# این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه می باشد که توسط مایکروسافت و در چارچوب .net ارائه شده است. انتظار اینکه در سیستم عاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی می باشد که امکان برنامه نویسی Aspect Oriented را به جاوا می افزاید. این برنامه توسط بنیاد برنامه نویسی جلوه گرا و به صورت کد باز ارائه شده است.
 
 نقاط ضعف
مهم‌ترین ایرادی که برنامه نویسان سایر زبان‌ها به زبان جاوا می گیرند سرعت اجرایی بسیار پایین جاوا است. یک برنامه جاوا به صورت بایتکد می باشد و باید در ماشین مجازی جاوا اجرا گردد. به همین دلیل سرعت اجرای پایینی را در مقابل زبان‌های قدرتمندی همچون ++C دارد. به صورت دیگر یک برنامه C به طور متوسط تا 10 برابر سریعتر از برنامه مشابه جاوا اجرا می‌گردد. جاوا علی رقم شیء گرا بودن در بخشی از قسمت‌ها برای ایجاد انعطاف بیشتر یا بازاریابی بهتر برخی اصول شی گرایی را نادیده گرفته است. از جمله این قسمت‌ها قابلیت بازتابش Reflection می باشد. هدف اصلی بازتابش این است که استفاده مجدد از کدها و گسترش کدهای موجود و مهم‌تر از همه نوشتن برنامه‌های الحاقی آسان گردد ولی این مهم با زیر پا گذاشتن بعضی اصول ممکن شده است. برای نمونه با کمک بازتابش به راحتی می‌توان متدهای خصوصی دیگر کلاس‌ها را فراخوانی کرد! زبان جاوا در مقابل زبانی مثل ++C ساده تر و یادگیری ان آسانتر است. این آسانتر بودن به سادگی به دست نیامده است بلکه با حذف بسیاری از موارد که باعث قدرتمند تر بودن زبان ++C بوده‌اند ایجاد شده است. مهم‌ترین این موارد اشاره گرها و وراثت چندگانه بوده‌اند که در زبان جاوا یافت نمی شوند. از آنجایی که جاوا زبانی با عدم وابستگی به بستر می باشد پس استفاده از توابع سیستم عامل را در برنامه نمی پذیرد. به همین صورت نمی‌توان از واسط‌های برنامه نویسی غیر از جاوا در آن استفاده نمود.

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

ماشين مجازي جاوا :
برای اجرای برنامه های نوشته شده و کامپایل شده به زبان جاوا نیاز به سکویی یا برنامه ای است که به آن ماشین مجازی جاوا (Java Virtual Machine) یا به اختصار JVM گفته میشود. این ماشین کدهای کامپایل شده به زبان جاوا را گرفته و آنها را اجرا میکند. شاید این جمله را شنیده باشید که کدهای زبان جاوا بر روی هر ماشین قابل اجرا میباشند و اصطلاحا جاوا Multi Platform است. برای مشخص شدن موضوع مثال زیر را بررسی کنید:
مثال:
شخصی که دستگاهی با سیستم عامل ویندوز دارد، از سایت سان JVM مربوط به سیستم عامل ویندوز را نصب میکند. سپس برنامه ای را به زبان جاوا مینویسد و آن را کمپایل مینماید. پس از آن برنامه کمپایل شده را برای دوست خود که دستگاه دیگری با سیستم عامل لینوکس دارد ارسال میکند. این شخص قبلا JVM مخصوص سیستم عامل لینوکس را از سایت سان برداشته و بر روی دستگاه خود نصب نموده است. به همین دلیل هیچکدام از این دو نفر لازم نیست نگران باشد که سیستم عامل دستگاهایشان با یکدیگر متفاوت است.
همانطور که از مثال مشخص است کدهای جاوا یکبار کامپایل میشوند و همه جا اجرا میشوند و این شعار جاوا است:
یک بار کامپایل کنید و همه جا اجرا کنید.
و یا Complie Once Run Any Where
پس در حقیق راز این قابلیت جاوا وجود ماشینهای مجازی مختلف برای سیستم عاملهای مختلف است.








انجام پایان نامه

انجام پایان نامه کامپیوتر، انجام پایان نامه ارشد کامپیوتر، انجام پایان نامه، پایان نامه

برای دیدن ادامه مطلب از لینک زیر استفاده نمایید

  دانلود مقاله | انجام پایان نامه

سفارش پایان نامه