احسان
احسان

احسان یک اصطلاح عربی به معنی کمال یا برتریست که به نیکی (عربی: حُسن) (یا خِیر مخالف شر) مربوط می‌شود. این یک امر مهم از رسیدن به ایمان درونی شخصی و نشان دادن آن در کردار و رفتار است، یک حس مسئولیت اجتماعی که شخص را نسبت به ارتکاب جرم دینی (گناه) صبور نگاه می‌دارد. در اسلام احسان یک وظیفهٔ مسلمانی برای بدست آوردن کمال یا برتری در عبادت است؛





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

احسان به معنی انجام دادن چیزهای عالی، یکی از ابعد سه گانهٔ دین اسلام است: اسلام، ایمان و احسان. در مقابل تأکیدهای اسلام (کدام کار بهتر است انجام شود) و ایمان (چرا بهتر است انجام شود) عقیدهٔ احسان ابتدایی و همراه با قصد است. کسی که آنچه را عالیست انجام می‌دهد محسن نامیده می‌شود. این به طور معمول جا افتاده است که شخص می‌تواند به احسان درست با کمک و هدایت الله، کسی که بر همه چیز حکومت می‌کند، دست یابد.

برخی مکاتب اسلامی احسان را به عنوان ابعاد درونی اسلام توصیف می‌کنند در حالی که شریعت اغلب ابعد بیرونی را شرح می‌دهد.

در اول بحث بهتر است روشن شود که نه تنها هر مسلمانی مؤمن (جزو مؤمنین و مؤمنات) است، بلکه هر انسان مؤمنی یک مسلمان است. بعلاوه هر مسلمانی که به تمامی اصول اسلام اعتقاد دارد لزوما انسان نیکوکاری نیست. یک نیکی کننده (محسن)، جز یک شخص خوب و نیکوکار به طور صادقانه که هم یک مسلمان است و هم یک مومن حقیقیست، نیست.

احسان شکل بالاتری از عبادت را تشکیل می‌دهد که در کار و بازخودهای اجتماعی عالیست. برای مثال، احسان صداقت در نماز و شکرگذار والدین، خانواده و خداوند بودنِ مسلمان را شامل می‌شود.

این واژه در قرآن نیز آمده است:

إِنَّ اللّهَ یَأْمُرُ بِالْعَدْلِ وَالإِحْسَانِ وَإِیتَاء ذِی الْقُرْبَی وَیَنْهَی عَنِ الْفَحْشَاء وَالْمُنکَرِ وَالْبَغْیِ یَعِظُکُمْ لَعَلَّکُمْ تَذَکَّرُونَ (معنی: در حقيقت خدا به عدالت و نيكوكارى و بخشش به خويشاوندان فرمان مىدهد و از كار زشت و ناپسند و ستم باز مىدارد به شما اندرز مىدهد باشد كه پند گيريد )

هَلْ جَزَاء الْإِحْسَانِ إِلَّا الْإِحْسَانُ (معنی: آیا جزای نیکی جز نیکیست؟!)






نیکوکاری
Ensāndusti یا نیکوکاری (به انگلیسی: philanthropy) به اعمال یا اوقافی گویند که در راه اهداف بشردوستانه و برای مقاصد نیکوکاری انجام شده باشد.






در آمریکا

در آمریکا بخشش تاریخی دیرینه، و به صورت یک فرهنگ عامیانه مرسوم گشته‌است. بسیاری از دانشگاه‌های کنونی آمریکا یا توسط وقف‌های ارضی و مالی احداث شده‌اند، و یا توسط هدایای افراد خیّر به فعالیت‌های علمی خود ادامه می‌دهند.

در میان اعمال بخششی که در تاریخ آمریکا (به غیر از موارد فراوان موسسات آموزش عالی همانند تاسیس دانشگاه هاروارد) معروف می‌باشد، می‌توان به تاسیس ۱۰۵ کتابخانه عمومی توسط اندرو کارنگی، و اهدای ۲۰۰ میلیون دلاری به ان پی آر اشاره کرد. بسیاری از پارک‌های ملی آمریکا نیز (همانند پارک ملی گراند تیتون) توسط ثروتمندان و برای حفظ طبیعت و عموم خریداری شدند.

در سال ۲۰۱۰ میلادی، ۴۰ میلیاردر آمریکایی متعهد شدند لااقل نصف ثروت خود را برای مقاصد نیکوکاری و بشردوستانه به سازمان‌های غیرانتفاعی و ان جی او ببخشند. در میان این افراد خیّر می‌توان اسامی بیل گیتس، مایکل بلومبرگ، جورج لوکاس، وارن بافت، لری الیسون، پیر امیدیار، و پل آلن را دید.
یک رشته تحصیلی

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






نگرش دین
اسلام

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






برخی از بزرگ‌ترین نیکوکاران جهان

در فهرست زیر، برخی از خیرترین افراد جهان نام برده شده است:

۳۱ میلیارد دلار از وارن بافت به بنیاد بیل و ملیندا گیتس
۹ میلیارد دلار از چاک فنی به بنیاد بشردوستی آتلانتیس
۲ میلیارد دلار از عظیم پریمجی به بنیاد عظیم پریمجی.
۵۰۰ میلیون دلار از تی بون پیکنز به دانشگاه ایالتی اوکلاهاما.
۵۰۰ میلیون دلار از والتر آننبرگ برای تعمیر مدارس دولتی در ایالات متحده.
۳۵۰ میلیون دلار (مبلغ ۷ میلیارد دلار در شرایط فعلی) از اندرو کارنگی در سال ۱۹۰۱ کسی که بیشتر ثروت خود را به کارهای خوب اختصاص داد. از کارها وی می‌توان به ساخت تالار کارنگی در نیویورک سیتی اشاره کرد.
۴۲۴ میلیون دلار از ریدرز دایجست به موزه متروپولیتن نیویورک.
۳۵۰ میلیون دلار از طرف مایکل جکسون کسی که بیشتر ثروتش را صرف امور نیکوکارانه برای مردم فقیر و کودکان بی‌بضاعت جهان کرد. او از ۳۹ جنبش خیرخواهانه پشتیبانی کرد و بنیاد خیریهٔ دنیا را التیام بده را تأسیس کرد و نامش به عنوان «نیکوکارترین فرد مشهور» در سال ۲۰۰۱ به کتاب گینس اضافه شد. به وصیت او، ۲۰ درصد از هر درآمدی که بعد از مرگش بدست آمد نیز باید به خیریه بخشیده شود.
۳۵۰ میلیون دلار از یارک بری.
۲۲۵ میلیون دلار از طرف ریموند و روت پرلمن، پدر و مادر رونالد او. پرلمن، به دانشکده پزشکی پنسیلوانیا در سال ۲۰۱۱.
۲۰۰ میلیون دلار از طرف جوآن بی. کروس به رادیوی عمومی ملی در سال ۲۰۰۳.
۱۰۰ میلیون دلار از جان دیویس راکفلر به بنیاد راکفلر در سال ۱۹۱۳ و ۱۹۱۴.
۱۰۰ میلیون دلار از طرف هنری و بتی روآن به کالج ایالتی گلسبرو

.





مهربانی
مهربانی به مجموعه اعمال و رفتاری گفته می‌شود که حاکی از ایثار، مدارا، قدرشناسی و احترام به دیگران است. مهربانی در بسیاری از فرهنگها و ادیان، ارزش به شمار می‌آید.






ایثار

ایثاردر لغت به معنی برگزیدن، عطاکردن، غرض دیگران را بر غرض خویش مقدم‌داشتن، منفعت غیر را بر مصلحت خود مقدم‌شمردن. در معنی اصطلاحی، نیز بدان معنی است که آدمی از روی قصد و نیت خیر، غیر را بر خود اختیار کند و او را بر خویشتن برگزیند. ایثار و دیگرگزینی عمل متعالی و اخلاقی است و در مقابل آن، استیثار و خودگزینی قرار دارد که جزو رذیلت‌های اخلاقی محسوب می‌گردد. ابوحفص می‌گوید: «الایثار أن تقدم حظوظ الاخوان علی حظک فی أمر آخرتک و دنیاک. (سلمی: 122)

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







ابعاد ایثار

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

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






دیدگاه تکاملی

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

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






مدارا

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

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

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






احترام

اِحتِرام احساسی مثبت از ارج نهادن و اعتنا به فرد یا شی‌ای است که فرد احترام‌گزارنده آن را سزاوار احترام می‌شمارد.

حرمت نهادن، نکوداشت، بزرگ داشتن، ارج نهادن و آزَرم برابرهایی برای احترام هستند.

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

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

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

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

احترام با رعایت نیز تفاوت دارد. رعایت حداکثر سرعت توسط رانندگان یا رعایت آتش‌بس مورد توافق توسط دو گروه متخاصم ممکن است رعایت محض باشد و عنصر احترام در آن‌ها وجود نداشته باشد.






سنت، غریزه، ناچاری

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

فرد ممکن است در احترام قائل شدن برای شخص یا چیز دیگر به اشتباه بیفتد و شخص و شی مورد احترام کیفیت‌های خود را به شکل درست بازتاب نداده باشد یا احترام‌گزارنده در ارزش‌یابی کیفیات او به اشتباه افتاده باشد.

دریافت احترام از محیط پیرامون و افراد جامعه به این معنا است که فرد دریافت‌کننده احترام به احتمال زیاد نه تنها از «نیش‌ها» و تهدیدات احتمالی گروه احترام‌گزار در امان خواهد ماند بلکه ممکن است بتواند بر یاری این گروه در تامین امنیت اجتماعی و فردی خود نیز تا اندازه‌ای حساب کند. بنابر این غریزه بقا حکم می‌کند که افراد به طور معمول به دنبال کسب احترام باشند.

برخی افراد، امور و اشیا خطرناک یا نیرومندند و احترام گزاردن به آن‌ها ممکن است با ترس، ابهت دیدن، حفاظت از خود، یا تمکین همراه باشد. برخی افراد و امور دیگر بر ما حکم می‌رانند و پذیرفتن فرمان آن‌ها و پیروی از آن می‌تواند نشانه‌ای از احترام باشد.

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







بخشندگی
بخشندگی عادتِ دهش بدونِ انتظار جبرانِ آن از سوی طرفِ مقابل است. بخشندگی باعثِ بوجود آمدنِ سازمان‌هایی همچون سازمان خیریه، بنیاد و سازمان ناسودبر در جامعه می‌گردد.






بخشندگی در اسلام

در اسلام به بخشندگی سخاوت گفته می‌شود. سخاوت در لغت از ماده­ء "سَخو" به معنی جود و بخشش بوده و سَخی به معنی بخشنده است. بنابراین "سخاوت" در مقابل بخل بوده که در اصطلاح دینی به ملکهٔ بذلِ مال به مستحق، بدون درخواست سائل، به میزان شایسته، گفته می­شود. بخشندگی در اسلام -همچون دیگر ادیان- بسیار توصیه گشته است.






بخشندگی در مزدیسنا

در مزدیسنا داد و دهش (ترکیب عطفی، اِ مرکب) از اتباع عطا و بخشش، عدل و سخا است و از سوی اشوزرتشت برای باورمندانِ به مزدیسنا بسیار سفارش شده است. به دهشمند در مزدیسنا، سوشیانت نیز گفته می‌شود.

در این بینش، انسان با پیمودن راه عرفان بر آن است تا به اهورامزدا نزدیک شود و با همین انگیزه باید برخی از ویژگی‌های اهورایی را در خود پرورش دهد. یکی از ویژگی‌های اهورایی، بخشندگی و داد و دهشِ بی پایان است. از این رو هر فرد نیز با پرداختن به نیکوکاری و داد و دهش، خشنودی اهورامزدا و روان آفرینش را فراهم خواهد ساخت.






وقف
وقف سنتی اسلامی و به معنای هدیهٔ ابدی برای خدمت عمومی یا نگه داشتن اصل چیزی و جاری بودن منفعت آن در جهت خیر و نیکی و رضای خدااست. به تعریف دقیق(ماده ۵۵ قانون مدنی) وقف عبارت است از این‌که «عین مال حبس و منافع آن تسبیل شود.» . جمع این واژه اوقاف است و به مال و زمین وقف شده، موقوفه گفته می‌شود. وقف از جمله عقود معینی است که در فقه اهل سنت و امامیه از اعتبار خاصی برخوردار است.
page1 - page2 - page3 - page4 - page5 - page7 - page8 - | 2:42 pm
خط مشی جاوا

یکی از ویژگی‌های جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سخت‌افزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره می‌کند، اما نه به‌صورت کد ماشین بلکه به‌صورت بایت‌کد جاوا. دستورالعمل‌ها شبیه کد ماشین هستند، اما با ماشین‌های مجازی که به طور خاص برای سخت‌افزارهای مختلف نوشته شده‌اند، اجرا می‌شوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده می‌کند. کتابخانه‌های استاندارد یک راه عمومی برای دسترسی به ویژگی‌های خاص فراهم می‌کنند. مانند گرافیک، نخ‌کشی و شبکه. در بعضی از نسخه‌های ماشین مجازی جاوا، بایت‌کدها می‌توانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایت‌کد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامه‌های ترجمه شده تقریباً همیشه کندتر از برنامه‌های کامپایل شدهٔ محلی اجرا می‌شوند. این شکاف می‌تواند با چند تکنیک خوش‌بینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیک‌ها JIT است که بایت‌کد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان می‌کند. در نتیجه برنامه خیلی سریع‌تر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا می‌شود. بیشتر VMهای پیشرفته، به‌صورت کامپایل مجدد پویا، در آنالیز VM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینه‌سازی قسمت‌های برنامه، استفاده می‌شوند. کامپایل مجدد پویا می‌تواند کامپایل ایستا را بهینه‌سازی کند. زیرا می‌تواند قسمت hot spot برنامه و گاهی حلقه‌های داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامه‌های جاوا اجازه می‌دهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.





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

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


پیاده‌سازی
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز, لینوکس، و سولاریس (سیستم‌عامل). داده‌است. همچنین محیط‌های دیگری برای دیگر پلت فرم‌ها فراهم آورده‌است. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیاده‌سازی‌ها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیاده‌سازی ماکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگی‌های خاصی را برای خودش اضافه کرده‌است. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعدماکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمی‌تواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخه‌های دیگر ویندوز فراهم آوردند.
اداره خودکار حافظه

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

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

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

گرامر
گرامر جاوا وسیع‌تر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شی‌گرایی، زبان جاوا یک زبان شی‌گرای خالص می‌باشد. فقط نوع دادة اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگی‌ها را پشتیبانی می‌کند و از کلاس‌ها برای ساده‌تر کردن برنامه‌نویسی و کاهش خطا استفاده می‌کند.



بر طبق قرارداد فایل هل بعد از کلاس‌های عمومی نام گذاری می‌شوند. سپس باید پسوند java را به این صورت اضافه کرد: Hello world.java. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل Hello world.class ایجاد می‌شود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما می‌تواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.

کلاسی که به صورت خصوصی تعریف می‌شود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف می‌شود یک کلاس فایل تولید می‌کند. که نام این کلاس فایل همنام کلاس است با پسوند.class

کلمه کلیدی public (عمومی) برای قسمت‌هایی که می‌توانند از کدهای کلاس‌های دیگر صدا زده بشوند، به کار برده می‌شود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونه‌هایی از کلاس، نشان می‌دهد. فقط تابع‌های ایستا می‌توانند توسط اشیا بدون مرجع صدا زده شوند. داده‌های ایستا به متغیرهایی که ایستا نیستند، نمی‌توانند دسترسی داشته باشند.

کلمهٔ کلیدی void (تهی) نشان می‌دهد که تابع main هیچ مقداری را بر نمی‌گرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید system.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا می‌زند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.

تابع main باید آرایه‌ای از اشیا رشته‌ای را بپذیرد. تابع main می‌تواند از آرگومان‌های متغیر به شکل public static void main(string…args) استفاده کند که به تابع main اجازه می‌دهد اعدادی دلخواه از اشیا رشته‌ای را فراخوانی کند. پارامترstring[]args آرایه‌ای از اشیا رشته ایست که شامل تمام آرگومان‌هایی که به کلاس فرستاده می‌شود، است.

چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کرده‌است. شی out یک نمونه از کلاس printstream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه می‌کند.
توزیع‌های جاوا

منظور از توزیع جاوا پیاده‌سازی‌های مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانه‌های استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیع‌کنندهٔ عمده جاوا وجود دارند:

سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن می‌باشد. در اکثر موارد هنگامی که گفته می‌شود جاوا منظور توزیع سان می‌باشد.
GNU Classpath: این توزیع از سوی موسسه نرم‌افزارهای آزاد منتشر شده و تقریباً تمامی کتابخانه استاندارد زبان جاوا در آن بدون بهره‌گیری از توزیع شرکت سان از اول پیاده‌سازی شده‌است. یک کامپایلر به نام GNU Compiler for Java نیز برای کامپایل کردن کدهای جاوا توسط این موسسه ایجاد شده‌است. فلسفه انتخاب نام Classpath برای این پروژه رها کردن تکنولوژی جاوا از وابستگی به علامت تجاری جاوا است بطوریکه هیچ وابستگی یا محدودیتی برای استفاده آن از لحاظ قوانین حقوقی ایجاد نشود و از طرفی به خاطر وجود متغیر محیطی classpath در تمامی محیط‌های احرایی برنامه‌های جاوا، این نام به نوعی تکنولوژی جاوا را برای خواننده القا می‌کند. کامپایلر GNU توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست. لازم به ذکر است که در حال حاضر شرکت سان تقریباً تمامی کدهای JDK را تحت مجوز نرم‌افزارهای آزاد به صورت متن باز منتشر کرده‌است و قول انتشار قسمت بسیار کوچکی از این مجموعه را که به‌دلیل استفاده از کدهای شرکت‌های ثانویه نتوانسته به صورت متن باز منتشر نماید در آینده نزدیک با بازنویسی این کدها داده‌است.
مایکروسافت #J: این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه می‌باشد که توسط مایکروسافت و در چارچوب.net ارائه شده‌است. انتظار اینکه در سیستم‌عاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ: این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی می‌باشد که امکان برنامه نویسی Aspect Oriented را به جاوا می‌افزاید. این برنامه توسط بنیاد برنامه‌نویسی جلوه‌گرا و به صورت کدباز ارائه شده‌است.



کلاس‌های خاص

برنامک (برنامه‌های کاربردی کوچک)

اپلت جاواها برنامه‌هایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شده‌اند. واژهٔ import باعث می‌شود کامپایلر جاوا کلاس‌های javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه می‌دهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست می‌کند. کلاس اپلت یک تابع پنجره‌ای مجرد است که برنامه‌های کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم می‌کند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل می‌کند، برای اینکه کدی که اپلت را نمایش می‌دهد، فراهم کند. تابع paint شی‌های گرافیکی را که شامل زمینه‌های گرافیکی هستند را می‌فرستد تا برای نمایش اپلت‌ها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا می‌زند.

جاوا سرولت
تکنولوژی servlet جاوا گسترس وب را به آسانی فراهم می‌کند. و شامل مکانیزم‌هایی برای توسعهٔ تابعی سرور وب و برایدسترسی به سیستم‌های تجاری موجود است.servlet قسمتی از javaEE است که به درخواست‌های مشتری پاسخ می‌دهد.

واژهٔ import کامپایلر جاوا را هدایت می‌کند که تمام کلاس‌های عمومی و واسط‌ها را از بسته‌های java.io وjava.servlet را در کامپایل وارد کند.

کلاس Hello کلاس Genericservlet را توسعه می‌دهد. کلاس Genericservlet واسطی برای سرور فراهم می‌کند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید می‌کند. نوعاً صفحات HTML به درخواست‌های HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه می‌کنند.JSP به javaservlet کامپایل می‌شود.

سوینگ
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شده‌اند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد می‌کند.

اولین جملهٔ import کامپایلر جاوا را هدایت می‌کندتا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند. و import دوم همهٔ کلاس‌های عمومی و واسط آن‌ها را از بستهٔ javax.swing اضافه می‌کند. کلاس Hello کلاس Jframe را توسعه می‌دهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.

زمانی که برنامه آغاز می‌شود، تابع main با JVM صدا زده می‌شود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده می‌شود.
 
ساعت : 2:42 pm | نویسنده : admin | مطلب قبلی | مطلب بعدی
جاوا | next page | next page