جاوا چیست؟
جاوا یک زبان برنامهنویسی چندمنظوره و شیگرا است که تا حدودی زیادی به C و ++C شباهت دارد؛ اما استفاده از آن آسانتر است و امکان ساخت برنامههایی قدرتمند با آن وجود دارد. البته تعریفی که شرکت سان مایکروسیستمز در سال 2000 ارائه کرده است، شاید از تعریف فوق گویاتر باشد:
جاوا زبان رایانهای ساده، شیگرا، مناسب شبکه، تفسیرشدنی، مستحکم، امن، فارغ از معماری، پرتابل، با عملکرد بالا، چندنخی و دینامیک است.
در ادامه هر یک از آموزش یرنامه نویسی جاوا را به طرز جداگانهای مورد بررسی قرار میدهیم:
جاوا یک زبان ساده است
جاوا در ابتدا بر اساس زبانهای C و ++C و با حذف برخی ویژگیهایی که قابلیت سردرگم کننده داشتند مدلسازی شد. از جمله این ویژگیها میتوان به اشارهگرها، پیادهسازی چندباره وراثت و بارگذاری بیش از حد عملگرها اشاره کرد که در جاوا حذف شدند. یکی از ویژگیهایی که در C++/C وجود نداشت؛ اما جزو ویژگیهای اساسی جاوا به شمار میآید، امکان بازیافت حافظه (garbage-collection) است که به طور خودکار اشیا و آرایههای بی استفاده را حذف میکند.
جاوا یک زبان شیگرا است
تمرکز شیگرایی جاوا موجب شده است که توسعهدهندگانی که از این زبان استفاده میکنند، از آن برای حل یک مسئله استفاده کنند و نه سروکله زدن با آن برای رفع محدودیتهای مسئله. این وضعیت موجب تمایز بین جاوا و C شده است. برای نمونه اگر میخواهید برنامهای برای یک حساب بانکی بنویسید، در جاوا تنها باید به ذخیرهسازی شی حساب بانکی بپردازید؛ اما در C باید وضعیت حساب (تراز حساب) و رفتارهایی مانند واریز یا برداشت را به طور مستقل برنامهنویسی کنید.
جاوا یک زبان مبتنی بر شبکه است
کتابخانه وسیع شبکه در جاوا باعث شده است که امکان کار با پروتکل کنترل انتقال/پروتکل اینترنت (TCP/IP) و پروتکلهای شبکه مانند HTTP (پروتکل انتقال ابرمتن) و FTP (پروتکل انتقال فایل) سادهتر شود و همچنین وظیفه ایجاد اتصالهای شبکه آسانتر گشته است. به علاوه برنامههای جاوا میتوانند از طریق شبکه TCP/IP، از طریق URLها، به اشیا دسترسی داشته باشند و این دسترسی به همان سادگی دسترسی روی سیستم فایل محلی است.
جاوا یک زبان تفسیر شده است
یک برنامه جاوا در زمان اجرا به طور غیر مستقیم از طریق یک ماشین مجازی (که بازنمایی نرمافزاری از یک پلتفرم فرضی است) و محیط زمان اجرای مرتبط با آن با واسطه روی یک پلتفرم زیرساخت (مانند ویندوز یا لینوکس) اجرا میشود. این ماشین مجازی بایتکدها (دستورالعملها و دادههای مرتبط) را از طریق تفسیر به دستورالعملهای خاص پلتفرم ترجمه میکند. منظور از تفسیر، عمل شناسایی معنی دستورالعملها و سپس انتخاب دستورالعملهای خاص پلتفرم برای اجرا است. در ادامه ماشین مجازی این دستورالعملهای خاص پلتفرم را اجرا میکند. این ویژگی تفسیری بودن جاوا باعث شده است که خطایابی برنامههای جاوا آسانتر شود، چون اغلب اطلاعات در زمان کامپایل در واقع در محیط اجرا وجود دارند. تفسیری بودن جاوا همچنین امکان به تأخیر انداختن پیوند بین قطعات مختلف برنامه جاوا تا زمان اجرا را فراهم ساخته است و این مسئله موجب افزایش سرعت توسعه برنامه میشود.
جاوا یک زبان مستحکم است
برنامههای جاوا باید قابل اعتماد باشند، زیرا هم در اپلیکیشنهای مصرفی و هم مأموریتهای حیاتی استفاده میشوند که از پخشکنندههای بلوری تا ناوبری خودرو یا سیستمهای کنترل هوایی را شامل میشود. ویژگیهای زبان جاوا که باعث استحکام آن میشوند، شامل اعلانها، بررسی دوباره نوع داده، یک بار در زمان کامپایل و بار دیگر در زمان اجرا (برای جلوگیری از عدم تطبیق نسخهها)، آرایههای واقعی با بررسی خودکار کرانها و کنار گذاشتن اشارهگرها است.
جنبه دیگری که موجب استحکام جاوا میشود، این است که حلقهها به جای عبارتهای عدد صحیح که در آن 0 برابر «نادرست» و مقادیر غیر صفر برابر با «درست» هستند، باید به وسیله عبارتهای بولی کنترل شوند. برای مثال برخلاف C، در جاوا حلقههایی مانند عبارت زیر
++while (x) x
مجاز نیستند؛ زیرا این حلقه ممکن است در جایی که انتظار میرود متوقف نشود. به جای آن باید عبارتهای بولی صریحی مانند زیر
;++while (x!= 10) x
استفاده شود، یعنی حلقه تا زمانی که x برابر با 10 شود، اجرا خواهد شد.
جاوا یک زبان امن است
برنامههای جاوا در محیطهای شبکهبندی شده/ توزیع یافته مورد استفاده قرار میگیرند. از آنجا که برنامههای جاوا میتوانند روی پلتفرمهای مختلف شبکه اجرا شوند، امن ساختن این پلتفرمها در برابر کدهای مخرب که موجب گسترش ویروسها، سرقت اطلاعات کارتهای بانکی یا اجرای اعمال خرابکارانه میشوند، امری حائز اهمیت است. ویژگیهایی که موجب استحکام زبان جاوا میشوند شامل کنار گذاشتن اشارهگرها هستند که به همراه ویژگیهای امنیتی مانند مدل امن sandbox جاوا و رمزنگاری کلید عمومی فعالیت میکنند. این دو نوع از ویژگیها در کنار هم از تأثیر ویروسها و دیگر کدهای خطرناک روی پلتفرمهای مشکوک جلوگیری میکنند. جاوا از لحاظ تئوریک امن است؛ اما در عمل آسیبپذیریهای امنیتی مختلفی شناسایی و مورد سوءاستفاده قرار گرفته است. در نتیجه در زمانهای قبل، شرکت سان مایکروسیستمز و اینک شرکت اوراکل همواره اقدام به انتشار بهروزرسانیهای امنیتی برای جاوا میکنند.
گروه ما آموزش برنامه نویسی جاوا برنامه ای کامل و جامع و ساده در اختیار برنامه نویسان قرار داده است.
جاوا چیست؟
جاوا یک زبان برنامهنویسی چندمنظوره و شیگرا است که تا حدودی زیادی به C و ++C شباهت دارد؛ اما استفاده از آن آسانتر است و امکان ساخت برنامههایی قدرتمند با آن وجود دارد. البته تعریفی که شرکت سان مایکروسیستمز در سال 2000 ارائه کرده است، شاید از تعریف فوق گویاتر باشد:
جاوا زبان رایانهای ساده، شیگرا، مناسب شبکه، تفسیرشدنی، مستحکم، امن، فارغ از معماری، پرتابل، با عملکرد بالا، چندنخی و دینامیک است.
در ادامه هر یک از آموزش یرنامه نویسی جاوا را به طرز جداگانهای مورد بررسی قرار میدهیم:
جاوا یک زبان ساده است
جاوا در ابتدا بر اساس زبانهای C و ++C و با حذف برخی ویژگیهایی که قابلیت سردرگم کننده داشتند مدلسازی شد. از جمله این ویژگیها میتوان به اشارهگرها، پیادهسازی چندباره وراثت و بارگذاری بیش از حد عملگرها اشاره کرد که در جاوا حذف شدند. یکی از ویژگیهایی که در C++/C وجود نداشت؛ اما جزو ویژگیهای اساسی جاوا به شمار میآید، امکان بازیافت حافظه (garbage-collection) است که به طور خودکار اشیا و آرایههای بی استفاده را حذف میکند.
جاوا یک زبان شیگرا است
تمرکز شیگرایی جاوا موجب شده است که توسعهدهندگانی که از این زبان استفاده میکنند، از آن برای حل یک مسئله استفاده کنند و نه سروکله زدن با آن برای رفع محدودیتهای مسئله. این وضعیت موجب تمایز بین جاوا و C شده است. برای نمونه اگر میخواهید برنامهای برای یک حساب بانکی بنویسید، در جاوا تنها باید به ذخیرهسازی شی حساب بانکی بپردازید؛ اما در C باید وضعیت حساب (تراز حساب) و رفتارهایی مانند واریز یا برداشت را به طور مستقل برنامهنویسی کنید.
جاوا یک زبان مبتنی بر شبکه است
کتابخانه وسیع شبکه در جاوا باعث شده است که امکان کار با پروتکل کنترل انتقال/پروتکل اینترنت (TCP/IP) و پروتکلهای شبکه مانند HTTP (پروتکل انتقال ابرمتن) و FTP (پروتکل انتقال فایل) سادهتر شود و همچنین وظیفه ایجاد اتصالهای شبکه آسانتر گشته است. به علاوه برنامههای جاوا میتوانند از طریق شبکه TCP/IP، از طریق URLها، به اشیا دسترسی داشته باشند و این دسترسی به همان سادگی دسترسی روی سیستم فایل محلی است.
جاوا یک زبان تفسیر شده است
یک برنامه جاوا در زمان اجرا به طور غیر مستقیم از طریق یک ماشین مجازی (که بازنمایی نرمافزاری از یک پلتفرم فرضی است) و محیط زمان اجرای مرتبط با آن با واسطه روی یک پلتفرم زیرساخت (مانند ویندوز یا لینوکس) اجرا میشود. این ماشین مجازی بایتکدها (دستورالعملها و دادههای مرتبط) را از طریق تفسیر به دستورالعملهای خاص پلتفرم ترجمه میکند. منظور از تفسیر، عمل شناسایی معنی دستورالعملها و سپس انتخاب دستورالعملهای خاص پلتفرم برای اجرا است. در ادامه ماشین مجازی این دستورالعملهای خاص پلتفرم را اجرا میکند. این ویژگی تفسیری بودن جاوا باعث شده است که خطایابی برنامههای جاوا آسانتر شود، چون اغلب اطلاعات در زمان کامپایل در واقع در محیط اجرا وجود دارند. تفسیری بودن جاوا همچنین امکان به تأخیر انداختن پیوند بین قطعات مختلف برنامه جاوا تا زمان اجرا را فراهم ساخته است و این مسئله موجب افزایش سرعت توسعه برنامه میشود.
جاوا یک زبان مستحکم است
برنامههای جاوا باید قابل اعتماد باشند، زیرا هم در اپلیکیشنهای مصرفی و هم مأموریتهای حیاتی استفاده میشوند که از پخشکنندههای بلوری تا ناوبری خودرو یا سیستمهای کنترل هوایی را شامل میشود. ویژگیهای زبان جاوا که باعث استحکام آن میشوند، شامل اعلانها، بررسی دوباره نوع داده، یک بار در زمان کامپایل و بار دیگر در زمان اجرا (برای جلوگیری از عدم تطبیق نسخهها)، آرایههای واقعی با بررسی خودکار کرانها و کنار گذاشتن اشارهگرها است.
جنبه دیگری که موجب استحکام جاوا میشود، این است که حلقهها به جای عبارتهای عدد صحیح که در آن 0 برابر «نادرست» و مقادیر غیر صفر برابر با «درست» هستند، باید به وسیله عبارتهای بولی کنترل شوند. برای مثال برخلاف C، در جاوا حلقههایی مانند عبارت زیر
++while (x) x
مجاز نیستند؛ زیرا این حلقه ممکن است در جایی که انتظار میرود متوقف نشود. به جای آن باید عبارتهای بولی صریحی مانند زیر
;++while (x!= 10) x
استفاده شود، یعنی حلقه تا زمانی که x برابر با 10 شود، اجرا خواهد شد.
جاوا یک زبان امن است
برنامههای جاوا در محیطهای شبکهبندی شده/ توزیع یافته مورد استفاده قرار میگیرند. از آنجا که برنامههای جاوا میتوانند روی پلتفرمهای مختلف شبکه اجرا شوند، امن ساختن این پلتفرمها در برابر کدهای مخرب که موجب گسترش ویروسها، سرقت اطلاعات کارتهای بانکی یا اجرای اعمال خرابکارانه میشوند، امری حائز اهمیت است. ویژگیهایی که موجب استحکام زبان جاوا میشوند شامل کنار گذاشتن اشارهگرها هستند که به همراه ویژگیهای امنیتی مانند مدل امن sandbox جاوا و رمزنگاری کلید عمومی فعالیت میکنند. این دو نوع از ویژگیها در کنار هم از تأثیر ویروسها و دیگر کدهای خطرناک روی پلتفرمهای مشکوک جلوگیری میکنند. جاوا از لحاظ تئوریک امن است؛ اما در عمل آسیبپذیریهای امنیتی مختلفی شناسایی و مورد سوءاستفاده قرار گرفته است. در نتیجه در زمانهای قبل، شرکت سان مایکروسیستمز و اینک شرکت اوراکل همواره اقدام به انتشار بهروزرسانیهای امنیتی برای جاوا میکنند.
گروه ما آموزش برنامه نویسی جاوا برنامه ای کامل و جامع و ساده در اختیار برنامه نویسان قرار داده است.