تور لحظه آخری
امروز : سه شنبه ، 22 آبان 1403    احادیث و روایات:  امام علی (ع):انسان بلند مرتبه چون به فهم و دانايى رسد، متواضع مى شود.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

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

قیمت پنجره دوجداره

بازسازی ساختمان

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

اوزمپیک چیست

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

 






آمار وبسایت

 تعداد کل بازدیدها : 1828653720




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

شگفتیهای زبان Java


واضح آرشیو وب فارسی:سایت ریسک: View Full Version : شگفتیهای زبان Java rtech15th November 2008, 11:45 PMمقدمه: تاریخچه، از یک دید وسیع، انعکاسی است از رویدادها و در یک مقیاس کوچک، تاریخچه برنامه نویسی را میتوان نام برد. در سرتاسر تاریخ اتفاقات بزرگی افتاده که جهان را تحت تاثیر قرار داده است. به طور مشابه برای برنامه نویسی نیز صادق است برای مثال با ابداع FORTRAN روش برنامه نویسی کامپیوتر برای همیشه تغییر کرد. با گذشت زمان زبانهای جدید جایگزین زبانهای قدیمی تر میشوند. و اتفاق اساسی دیگر تولد زبان Java بوده است. Java مرحله مهمی است در شروع برنامه نویسی اینترنت و طراحی برنامه هایی که در هر محیطی قابل اجرا میباشد (Write once, Run any where). Java به طور اساسی طرز فکر ما را در مورد برنامه نویسی تغییر داده و تاریخچه زبانهای برنامه نویسی را به دو بخش تقسیم نموده است: قبل از Java و بعد از Java. تا قبل از Java برنامه هایی تولید میشدند که فقط در یک محیط قابل اجرا بودند اگرچه Java براساس نیاز به برنامه نویسی اینترنت به وجود آمد اما آن فقط زبان برنامه نویسی اینترنت نمیباشد بلکه یک زبان همه منظوره که برای نرم افزارهای شبکه و پیشرفته طراحی شده است. یعنی اینکه Java برای تمام انواع برنامه نویسی مناسب است. Java همچنین نوآوریهایی را داراست که موجب پیشرفت هنر برنامه نویسی شده است. خیلی از امکانات زبانهای جدید مانند C# بر اساس مدلهای Java طراحی و ایجاد شده است. انواع (Types) ساده و اشیا (Objects): تعادل مناسب یکی از بزرگترین مشکلات یک برنامه نویس در زبانهای OO چگونگی اداره اشیا میباشد. از یک نقطه نظر هر نوع داده باید یک شی باشد و هر نوعی باید از یک شی اصلی و پایه به وجود آمده باشد. این باعث میشود تمام انواع داده شبیه به هم عمل نموده که با به اشتراک گذاری یک سری از خصیصه ها انجام میشود (Methods and Properties). به خاطر اینکه انواع ساده اغلب برای کنترل حلقه های تکرار و دستورات شرطی میباشد تبدیل این انواع به اشیا باعث ایجاد اثرات منفی میگردد. با توجه به این مساله پیدا کردن تعادل درست در اینکه هر چیزی یک شی است و همچنین کارایی های آن چیز مهم است. در Java این مشکل حل شده است، اول 8 نوع ساده را تعریف میکند: boolean, double, float, char, long, int, short, byte . این انواع به طور مستقیم به مقادیر باینری ترجمه (Compile) میشوند بنابراین یک متغیر از نوع int میتواند به طور مستقیم توسط CPU مورد استفاده قرار گیرد بدون اینکه هیچ بار اضافی به وجود آورد. انواع ساده در Java از لحاظ سرعت مانند زبانهای دیگر میباشد بنابراین یک حلقه که به وسیله نوع int کنترل میشود با نهایت سرعت اجرا میگردد. برخلاف انواع ساده دیگر انواع در Java به شکل اشیا بوده که از کلاس پایه Object مشتق میشوند. و دارای یک سری متدها برای استفاده میباشد مثلا تمام انواع دارای یک متد toString() میباشند. در Java تمام انواع توسط یک ارجاع (Reference) قابل دستیابی میباشد و به همین خاطرGarbage Collection به طور موثر قابل پیاده سازی است. زمایکه هیچ اشاره ای به شی وجود ندارد آن شی بازیابی میشود. اگر چه انواع ساده کاملا موثر بوده اما زمانهایی وجود دارد که به امکانات اشیا نیازمندیم. برای مثال شما ممکن است بخواهید لیستی از انواع Integer را در زمان اجرا ایجاد نموده و بعد از اتمام کار منابع آنهارا به سیستم بازگردانید، برای این منظور Java نوع Integer را تعریف میکند. مدیریت حافظه از طریق Garbage Collection Garbage Collection به عنوان یک تکنیک مدیریت حافظه مدت زیادی است که مورد استفاده قرار میگیرد اما در Java یک سری نقشهای جدیدی دارد. در زبانهایی مانند C++ حافظه باید به صورت دستی مدیریت شود که این کار توسط برنامه نویس انجام میگردد این موضوع خود باعث ایجاد مشکل میشود زیرا برگرداندن منابع سیستم ممکن است فراموش گردد. Java این مشکلات را به وسیله مدیریت حافظه حل میکند. تمام اشیا در Java توسط یک ارجاع قابل دستیابی هستند بنابراین هنگامیکه Garbage Collection شیی که بدون استفاده میباشد را پیدا کند آنرا به منابع سیستم بازمیگرداند. استفاده Java از Garbage Collection فلسفه Java را به طور کلی منعکس میکند. طراحان زبان Java سعی کردند زبانی را به وجود آورند که مشکلات زبانهای دیگر را نداشته باشد. با استفاده از Garbage Collection یک برنامه نویس Java ممکن نیست که منبعی را فراموش کند به سیستم بازگرداند یا اینکه منبعی که به سیستم بازگردانده شده هنوز مورد استفاده باشد. Multithreading طراحان Java امکاناتی را به این زبان اضافه کردند که خود زبان برنامه نویسی از Multithreading به سادگی پشتیبانی میکند به یاد داشته باشید که دو نوع Multitasking وجود دارد : Process و Thread. در Process Multitasking کوچکترین واحد قابل برنامه ریزی، یک Process میباشد. Process برنامه ای است که اصولا قابل اجرا است، بنابراین Process Multitasking ویژگی است که به کامپیوتر اجازه میدهد تا دو یا چند برنامه را در یک لحظه اجرا کند. در Thread Multitasking یک Thread کوچکترین واحد قابل برنامه ریزی بوده و مسیری از اجرا را درون یک برنامه تعریف میکند. بنابراین یک Process میتواند دو یا چند Thread را برای اجرا شامل شود. Process Multitasking از امکانات سیستم عامل بوده در صورتیکه Thread Multitasking از مزایای خود زبان برنامه نویسی میباشد. برای مثال زبان C++ به طور داخلی از برنامه نویسی Multithread پشتیبانی نمیکند و از امکانات سیستم عامل برای این منظور بهره میبرد یعنی ایجاد، اجرا، همزمانی و پایان رساندن Thread با استفاده از توابع سیستمی انجام میپذیرد در نتیجه برنامه های Multithread با این زبان قابل انتقال به محیطهای دیگر نیستند. به خاطر اینکه زبان Java به صورت داخلی از برنامه های Multithread پشتیبانی میکند خیلی از کارها به صورت خودکار انجام میگیرد. یکی از بهترین امکانات Java در زمینه Multithreading امکان همزمانی (synchronization) میباشد. همزمانی براساس دو ویژگی پی ریزی شده است، اول اینکه تمام اشیا به صورت پایه ای امکاناتی دارند که Mutually Exclusive را نشان میدهند. در این حالت فقط یک Thread در یک لحظه میتواند یک Monitor در اختیار داشته باشد. زمانیکه متد Synchronized فراخوانی میشود شی مورد نظر قفل شده و threadهای دیگر برای دسترسی به آن باید منتظر بمانند. تا قبل از Java بیشتر برنامه هایی که تولید شده اند به صورت یکپارچه در یک مسیر اجرا میشدند اما بعد از Java برنامه ها به صورت مجموعه ای از Taskهای موازی که با یکدیگر ارتباط دارند اجرا میگردد. این تغییر در پردازش موازی تاثیر گسترده ای در تولید نرم افزار داشته است. کنترل Exceptionها کنترل Exception به طور کامل در Java طراحی شده و یکی از ویژگیهای اساسی این زبان به شمار می آید. یکی از ویژگیهای کلیدی Exception در زبان Java که به وضوح قابل رویت است استفاده اجباری از Exception میباشد. در Java اداره خطا با استفاده از Exception یک قانون به شمار می آید. در C++ پشتیبانی از Exception به طور کامل در درون زبان برنامه نویسی طراحی نشده است. برای مثال بازکردن و خواندن از یک فایل را در نظر بگیرید، در Java اگر خطایی در این متدها رخ دهد یک Exception ایجاد میگردد. در C++ یک error به همراه یک کد ویژه برگردانده میشود. به خاطر اینکه C++ در اصل از Exception پشتیبانی نکرده و به جای آن یک کد را برمیگرداند. و برنامه شما به صورت دستی باید اداره خطا را به عهده بگیرد. قابلیت انتقال و امنیت با استفاده از Byte code همانطور که میدانید خروجی کامپایلر Java کد ماشین نبوده که به طور مستقیم توسط CPU قابل اجراست و به جای آن مجموعه ای از دستورالعملهای قابل انتقال به نام byte code ایجاد میشوند که توسط JVM قابل اجرا خواهد بود. JVM به طور ساده یک مفسر برای byte code به شمار میرود. اولین مزیت JVM قابلیت انتقال آن میباشد. با کامپایل کردن یک برنامه Java و تولید byte code، در هر کامپیوتر با هر CPU و سیستم عامل قابل اجرا بوده و فقط کافیست JVM مختص آن کامپیوتر نصب گردد. مزیت دوم JVM امنیت بوده به طوریکه اجرای byte code ها تحت کنترل JVM انجام شده و JVM آنرا از تاثیر سیستم عامل محافظت میکند. منبع : The Art of Java (Herbert Schildt, James Holmes) سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 761]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن