تارا فایل

پاورپوینت جاوا


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

جاوا چیست؟
جاوا یک زبان برنامه نویسی چندمنظوره و شی گرا است که تا حدودی زیادی به C و ++C شباهت دارد؛ اما استفاده از آن آسان تر است و امکان ساخت برنامه هایی قدرتمند با آن وجود دارد. البته تعریفی که شرکت سان مایکروسیستمز در سال 2000 ارائه کرده است، شاید از تعریف فوق گویاتر باشد:
جاوا زبان رایانه ای ساده، شی گرا، مناسب شبکه، تفسیرشدنی، مستحکم، امن، فارغ از معماری، پرتابل، با عملکرد بالا، چندنخی و دینامیک است.

خصوصیات جاوا
جاوا یک زبان ساده است
جاوا یک زبان شی گرا است
جاوا یک زبان مبتنی بر شبکه است
جاوا یک زبان تفسیر شده است
جاوا یک زبان مستحکم است
جاوا یک زبان امن است
جاوا یک زبان فارغ از معماری است
جاوا یک زبان پرتابل است
جاوا یک زبان با عملکرد بالا است
جاوا یک زبان پویا (دینامیک) است

ایده لگو جاوا
تا جایی که به جاوا مربوط می شود، همه چیز از اوایل دهه 1990 آغاز شد، یعنی زمانی که شرکت سان مایکروسیستمز (Sun Microsystems) شروع به توسعه نسخه بهتری از ++C کرد که بتواند به آسانی پرتابل شود، برای افراد مبتدی مطلوب باشد و به مدیریت خودکار حافظه بپردازد. تحقیقات این شرکت منجر به خلق یک زبان کاملاً جدید شد که نام آن از میان ده ها نام پیشنهادی در اتاق جلسه معرفیش انتخاب شد. امروزه لوگوی جاوا به صورت فنجان قهوه ای که از آن بخار می دمد، به نماد جهانی برنامه نویسی تبدیل شده است. در واقع دیگر کسی نمی داند که ارتباط برنامه نویس ها با کافئین قدیمی تر است؛ یا ارتباطشان با جاوا که امروزه مترادف با قهوه است.

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

در بخش فوقانی نمودار فوق یک سری از فایل های کلاس برنامه را مشاهده می کنید که یکی از آن ها به نام فایل کلاس اصلی نامیده شده است. برنامه جاوا دست کم باید یک فایل کلاس اصلی داشته باشد که نخستین کلاسی است که بارگذاری، تایید و اجرا خواهد شد.
JVM بارگذاری کلاس را به مولفه classloader می سپارد. Classloader فایل های کلاس را از منابع مختلف مانند سیستم های فایل، شبکه ها و فایل های فشرده بارگذاری می کند. این مولفه، JVM را از مسائل و مشکلات مرتبط با بارگذاری کلاس بر حذر می دارد.
یک فایل کلاس بارگذاری شده در حافظه نگهداری می شود و به صورت یک شی ایجاد شده از کلاس Class نمایش می یابد. هنگام بارگذاری، bytecode verifier دستورالعمل های مختلف بایت کد را بررسی می کند تا مطمئن شود که معتبر هستند و امنیت را به مخاطره نمی اندازند.
اگر بایت کد فایل کلاس معتبر نباشد، JVM خاتمه می یابد. در غیر این صورت مولفه مفسر آن، بایت کد را یک به یک به دستورالعمل ها تفسیر می کند. در این فرایند تفسیر، دستورالعمل های بایت کد شناسایی شده و دستورالعمل های بومی معادل آن ها اجرا می شوند.
برخی توالی های دستورالعمل های بایت کد بیش از دیگر موارد تکرار می شوند. وقتی مفسر این موقعیت را تشخیص می دهد، کامپایلر درجای JVM به نام JIT این توالی های بایت کد را به کد بومی کامپایل می کند تا سریع تر اجرا شوند.
در زمان اجرا، مفسر معمولاً با درخواستی برای اجرای بایت کد فایل کلاس دیگر مواجه می شود که به این برنامه یا یک کتابخانه تعلق دارد. در چنین مواردی classloader فایل کلاس را بارگذاری می کند و bytecode verifier بایت کد فایل کلاس بارگذاری شده را پیش از اجرا تایید می کند. همچنین در زمان اجرا نیز دستورالعمل های بایت کد ممکن است از JVM بخواهند که یک فایل را باز کند، چیزی را روی صفحه نمایش دهد، صدایی ایجاد کند یا وظیفه دیگری انجام دهد که نیازمند همکاری با پلتفرم بومی است. در این موارد JVM با استفاده از رابط بومی جاوا (JNI) که یک پل فناوری برای تعامل با پلتفرم بومی برای اجرای وظایف است این کار را انجام می دهد.

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

میزان استفاده کاربران از جاوا

مزیتهای جاوا
جاوا، برنامه نویسی شی گرا کاملاً پذیرفته است. منظور از برنامه نویسی شی گرا سبکی از کدنویسی است که در آن نه تنها انواع داده و ساختمان داده تعریف می شوند؛ بلکه مجموعه توابع مورد استفاده این داده ها نیز تعریف می شوند. بدین ترتیب ساختمان داده تبدیل به یک شی می شود که می توان آن را برای ایجاد روابطی بین شی های مختلف دستکاری کرد.
برخلاف رویکرد متضادش یعنی برنامه نویسی رویه ای (procedural programming) که در آن یک توالی از دستورالعمل ها با استفاده از متغیرها و توابع استفاده می شوند؛ در برنامه نویسی شی گرا امکان گروه بندی این متغیرها و توزیع بر اساس زمینه ارائه شده است و از این رو می توان آن ها را بر اساس زمینه هایی که هر شی خاص دارد، نامگذاری کرده و مورد ارجاع قرار داد.

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

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

کاهش ریسک امنیت
ممکن است شنیده باشید که جاوا زبان برنامه نویسی امنی است؛ اما این گزاره کاملاً صحیح نیست. خود زبان نمی تواند در برابر آسیب پذیری ها حفاظتی ایجاد کند، بلکه برخی از ویژگی های آن هستند که می توانند شما را در برابر رخنه های امنیتی رایج محافظت کنند. نخستین ویژگی در قیاس با C این است که جاوا از اشاره گرها استفاده نمی کند. اشاره گر شیئی است که آدرس حافظه یک مقدار دیگر را نگهداری می کند و موجب می شود که دسترسی ناخواسته ای به حافظه ایجاد شود. ویژگی دوم است که جاوا یک ابزار مدیریت امنیت دارد که نوعی سیاست امنیتی برای هر اپلیکیشن است و در آن قواعد دسترسی خاصی تعریف می شود. بدین ترتیب امکان اجرای اپلیکیشن های جاوا درون یک sandbox وجود دارد و بدین ترتیب ریسک آسیب حذف می شود.

شعار «یک بار بنویس، همه جا اجرا کن» به اختصار WORA یک عبارت مشهور برنامه نویسی است که شرکت سان مایکروسیستمز معرفی کرد تا قابلیت های چند پلتفرمی جاوا را توصیف کند. معنی این شعار آن است که می توان برنامه جاوا را برای مثال روی ویندوز نوشت، آن را به بایت کد تبدیل کرد و این اپلیکیشن را روی هر پلتفرم دیگری که از ماشین مجازی جاوا (JVM) پشتیبانی می کند، اجرا کرد. در این حالت JVM یک سطح تجرید بین کد و سخت افزار ایجاد می کند.

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

چندنخی
نخ (thread) در برنامه نویسی به کوچک ترین واحد پردازشی گفت می شود. جاوا برای بیشینه ساختن بهره برداری از زمان CPU امکان اجرای همزمان نخ ها را می دهد و این فرایند اجرای چند نخی نام دارد.
نخ ها ناحیه مشترکی از حافظه را اشغال می کنند، بنابراین سوئیچ کردن بین آن ها به زمان اندکی نیاز دارد. با این حال نخ ها مستقل از هم هستند و از این رو اگر نخی با خطا مواجه شود، روی نخ های دیگر تاثیری ندارد. این وضعیت به طور خاص در مورد بازی ها و برنامه هایی که انیمیشن های سنگین دارند، مفید است.

معایب برنامه نویسی جاوا چیست ؟
لایسنس تجاری پولی
عملکرد پایین
جاوا روی دسکتاپ ظاهر و شمایل یکسانی ندارد
کد طولانی و پیچیده

جاوا چه کاربردهایی دارد ؟
اپلیکیشن های اندرویدی
محصولات نرم افزاری
برنامه های مالی
سیستم های نقطه فروش
اپلیکیشن های تجاری
برنامه های کلان داده

انواع داده ها در زبان جاوا
در هر برنامه ای ما با تعدادی مقادیر سر و کار داریم. ممکن است برنامه با اعداد کار کند، یا با نویسه ها (کاراکترها). هدف هر برنامه ی رایانه ای، محاسبه داده ها است. برای این کار هر برنامه ای باید بتواند داده ها را وارد کند، آن ها را پردازش کند و نتیجه را به نحو مقتضی نمایش دهد. برای انجام محاسبات بر روی داده ها در برنامه باید بتوانیم داده ها را شناسایی کنیم. باید بدانیم آن ها از چه نوعی هستند. همچنین باید بدانیم که در هر لحظه هر کدام از آن ها چه مقداری دارند. برای هر متغیر سه ویژگی قائل می شویم: نوع، نام و مقدار.

الگوی کلی تعریف متغیرها

فهرست کامل نوع داده های اولیه


تعداد صفحات : 24 | فرمت فایل : pptx

بلافاصله بعد از پرداخت لینک دانلود فعال می شود