وارکرفت
نقدی بر کتاب
واکرفت را با شیوه ای مهندسی نوشته اند.برای درک کامل این کتاب نیاز به مطالعه های قبلی در زمینه ی جادوگری دارید.هم چنین ذخیره واژگان باستانی و جادویی خوبی نیز باید داشت.ترجمه این کتاب ها که توسط نشر زهره انجام گرفته است(غیر از جلد آخری) ترجمه ای فنی و تا حدودی دشوار است و خواندنش برای افراد گروه سنی 16 به بالا مناسب است.





دنیای وارکرافت
دنیای وارکرافت (به انگلیسی: World of Warcraft) یا به اختصار WoW، یک بازی سبک خیال‌پردازی از سری وارکرافت که توسط بلیزارد انترتینمنت ساخته شده و در سال ۲۰۰۴ توسط شرکت بلیزارد انترتینمنت برای رایانه منتشر شده‌است.این بازی چهارمین سری از مجموعه بازی وارکرافت می‌باشد، که اولین بازی از این سری با عنوان وارکرافت: ارک‌ها و انسان‌ها در سال ۱۹۹۴ منتشر شده‌است.اولین بسته الحاقی این بازی با عنوان دنیای وارکرافت: جهاد سوزان در ۱۶ ژانویه ۲۰۰۷، و دومین بسته الحاقی با عنوان دنیای وارکرفت: خشم پادشاه لیچ در ۱۳ نوامبر ۲۰۰۸ منتشر شده‌استو سومین بسته الحاقی به نام دنیای وارکرفت: تحول بزرگ، در سال ۲۰۱۰ منتشر شد.




وارکرفت: سلطنت آشوب
وارکرفت: سلطنت آشوب (به انگلیسی: Warcraft ۳ : Reign of Chaos) یک بازی ویدئویی استراتژی از شرکت بیلیزارد است که در تاریخ ۳ ژانویه ۲۰۰۲ منتشر شده‌است. وارکرفت ۳ شامل ۴ نژاد : انسان و اورک هاو نایت الف‌ها و آنددها است. بازی ثابت کرد به یکی از آزادترین پیش بینی بازی‌های کامپیوتری و محبوب همیشه، با ۴٫۵ میلیون واحد حمل به فروشگاه‌های خرده فروشی و بیش از یک میلیون واحد فروخته شده در ۱ ماه وارکرفت ۳ موفق به کسب جوایز بسیاری از جمله "بازی سال" از بیش از ۶ نشریات مختلف است. این بازی یکی از بهترین بازی های زمان خویش بوده و از ادامه این بازی می توان به بازی FROZEN THERON اشاره کرد.




کانتر استرایک
کانتر استرایک (به انگلیسی: Counter-Strike، (به اختصار CS)) یک بازی رایانه‌ای رزمی تیراندازی اول شخص است که توسط شرکت والو توسعه‌داده می‌شود. این بازی برگرفته از تغییراتی است که توسط مینه لی و جس کلیف بر روی بازی نیمه‌جان انجام شده. بازی پس از انتشار اولین نسخه در سری نسخه‌های دیگری نیز منتشر شد که در حال حاضر شامل کانتر استریک: ۱٫۶ و کانتر استرایک: کاندیشن زیرو و کانتر استرایک: سورس و کانتر استرایک: گلوبال آفنسیو می‌شود. همچنین این بازی به صورت آنلاین در گیم نت‌ها و حتی در خانه‌ها طرفداران بسیاری دارد.



جنگ خان‌ها
جنگ خان‌ها یک بازی تحت مرورگر (به انگلیسی: Browser Game) در سبک استراتژیک آنلاین می‌باشد و در قرون وسطا می‌گذرد.بازیکن می‌تواند با انتخاب یکی از 12 قوم بلغارها، فرانک‌ها، مغول ها، ژاپنی ها، لیتوانی، آلمان‌ها، پارس‌ها، روم شرقی، بریتانیایی‌ها، اعراب، گوت‌ها و روس‌ها فرمانروایی خود را بنا کند و با تسخیر قلعه‌های دیگر بازیکنان، آن را گسترش دهید و قدرتمند تر سازد.



جنگ نهایی تام کلنسی
جنگ نهایی تام کلنسی(به انگلیسی: Tom Clancy's EndWar)یک بازی استراتژی همزمان ساخته شده توسط یوبی‌سافت شانگهای برای پلی‌استیشن ۳، ایکس‌باکس ۳۶۰ و مایکروسافت ویندوز است .این بازی در ۴ نوامبر ۲۰۰۸ برای ایالات متحده آمریکا،۶ نوامبر برای کانادا و ۸ نوامبر همان سال برای اروپا منتشر شد.نسخه مایکروسافت ویندوز آن در ۴ فوریه ۲۰۰۹ نیز به بازار روانه شد.




جنگ‌های صلیبی (بازی ویدئویی)
جنگ‌های صلیبی (به انگلیسی: Stronghold: Crusader) یکی از بازی‎های سری استراتژی قلعه، ساخت استودیوی فایرفلای بود که در سال ۲۰۰۲ منتشر شد.این بازی دارای گرافیک بالایی نبود اما طرفداران زیادی پیدا کرد و با استقبال زیادی روبرو شد.این بازی توسط گروه نرم‌افزاری دارینوس به فارسی دوبله شد.



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




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




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



داستان بازی

منابع

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

همهٔ منابع برای توسعه دهکده، مورد نیاز است ولی مصرف گندم در هنگام توسعه روستا افزایش می‌یابد. تمام نژادها از یک منبع نسبت به منابع دیگر بیش تر استفاده می‌کنند که به طور مثال می‌توان استفاده از چوب توسط توتن‌ها و خشت توسط گول‌ها و استفاده از آهن توسط رومی‌ها اشاره کرد.

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




بازی گرز

بازی گرز، یک بازی استراتژیک جنگی ایرانی تحت وب است که در ایران طراحی شده. مراحل ساخت بازی از اردیبهشت ۱۳۹۰ آغاز شده و نسخه بتای بازی در تاریخ ۱۲ اسفندماه ۱۳۹۰ به طور رسمی در اختیار گروهی از بازی دوستان ایرانی برای تست قرار گرفت. این بازی با سایر بازی‌های استراتژیک مرسوم تحت وب تفاوت دارد و سبک بازی بیشتر به روند بازی‌های کامپیوتری ای نظیر وارکرفت و همین طور برخی سبک‌های نبرد کال آو دیوتی می‌ماند. در بازی گرز، هر فرد با ثبت نام و انتخاب نژاد، لشگر خود را ساخته و با قهرمان لشگر به مبارزه با سایر فرماندهان و کاربران موجود در بازی می‌پردازد.

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




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




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




مجوزها
بازی گرز، ثبت شده در "بنیاد بازی‌های رایانه ای" و همین طور مورد تایید ستاد ساماندهی پایگاه‌های اینترنتی است.




ایکاریم

ایکاریم (به آلمانی: Ikariam) یک بازی رایگان تحت‌وب در سبک استراتژی است. این بازی در سال ۲۰۰۸ توسط شرکت گیم‌فورج منتشر شده‌است. در ایکاریم، بازیکن اختیار یک شهر را در یک جزیره در دست می‌گیرد، با پیشرفت منابع و ساختمان‌ها، تجارت و بستن قراردادهای مختلف می‌تواند پیشرفت کند و در نقاط دیگر نقشه جهان، شهرهای دیگر بنا کند.

این بازی از چند سرور مختلف تشکیل شده است. نام هر سرور،کشور خاصی است. در هر سرور این بازی یک یا چند جهان وجود دارد که با حروف یونانی نامگذاری شده‌اند. در حال حاضر نسخه فارسی این بازی دارای سه جهان Beta،Alpha و Gamma می‌باشد.
نمای بازی ایکاریم در قالب نسخه ۰.۵.۰ در تاریخ ۵ ژوئیه ۲۰۱۲ تغییر کرد. هم‌اکنون ایکاریم با نمای جدید می‌درخشد و با این نما می‌توان بازی ایکاریم را به‌صورت تمام‌صفحه تجربه کرد.

شرکت گیم‌فورج، برای بازی ایکاریم نسخه‌های ویژه‌ای برای تلفن هوشمند و همچنین تبلت منتشر کرده‌است.

ایکاریم از طرف منتقدان در سال ۲۰۱۱ به عنوان بهترین بازی استراتژی تحت وب انتخاب شد و جوایز متعددی دریافت کرد.




نام
نام انگلیسی بازی Ikariam است. واژه Ikariam از نام اسطوره‌ای در یونان باستان به نام ایکاروس برگرفته شده‌است.همچنین جزیره‌ای به نام Ikaria (یا Icaria) در استان اژه شمالی یونان و در دریای اژه وجود دارد که نام این جزیره نیز از ایکاروس برگرفته شده‌است. m- یک پسوند یونانی است که برای نام بازی و تلفظ بهتر به Ikaria افزوده شده‌است.




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




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




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



نمای کلی بازی
در ایکاریم سه روش برای نمایش وجود دارد. با کمک ابزار هدایت کننده می‌توان به راحتی حالت‌های نمایش را تغییر داد. این سه نما به ترتیب عبارت اند از:نمایش جهان:

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



نمایش جزیره:

نقشه جزیره، تمام شهرها، معجزات، معدن و کارگاه چوب بری موجود در آن‌ها را نشان می‌دهد.



نمایش شهر:

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




منابع بازی
زمانی که بازیکن بازی را شروع می‌کند، مقدار معینی منابع به دست می‌آورد. منابع برای پیشرفت تمدن و فرهنگ الزامی هستند. در بازی ۵ منبع وجود دارد:
چوب: چوب یک منبع معیار بازی است. از چوب در همه چیز استفاده می‌شود: ساختمان‌ها، واحدهای نظامی، کشتی‌های جنگی و اهدا به منابع جزیره (غیر از معجزه).
سنگ: برای همه ساختمان‌ها جز دانشگاه و معبد استفاده می‌شود.
شیشه کریستالی: برای ساخت دانشگاه، معبد، تقویت واحدهای نظامی و کشتی‌های جنگی، ساخت زیردریایی، ساخت دکتر و جاسوس و ساخت قصر یا مقر فرمانداری مرحلهٔ ۵ و بالاتر استفاده می‌شود.
آب‌انگور: بعد از تحقیق پرورش آب‌انگور در آب‌میوه فروشی استفاده می‌شود. همچنین آب‌انگور در قصر یا مقر فرمانداری مرحلهٔ ۴ و بالاتر و همچنین در ساخت آشپز (در سربازخانه) استفاده می‌شود.
گوگرد: برای آموزش واحدهای نظامی و ساخت کشتی‌های جنگی جز سنگ انداز، شمشیرباز، دژکوب، دکتر، آشپز و زیردریایی و همچنین در ساخت قصر یا مقر فرمانداری مرحلهٔ ۳ و بالاتر مورد استفاده قرار می‌گیرد.




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

:

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

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




ساخت


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




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

قسمت طراحی بازی اکنون از کل ابعاد پنجرهٔ مرورگر برای نمایش تصویر استفاده می‌کند و اگر اندازه پنجره تغییر کند، مرورگر به‌صورت خودبه‌خود اندازه تصویر را تغییر خواهد داد.
نقشهٔ جهان، نقشهٔ جزیره و نقشهٔ شهر مجدداً طراحی شده‌اند و اکنون دارای وضوح تصویر بالاتری هستند. `منوی سمت راست` در صفحه بازی با اجزای جدیدی جایگزین شده‌است. قسمت‌های موقعیت یابی در نقشه جهان اکنون در قسمت پایین صفحه قرار گرفته‌اند و با کلیک بر روی علامت پیکان در وسط آن قابلیت ظاهر شدن یا بسته شدن را دارد. در قسمت نمایش جزیره می‌توان با استفاده از همین منوی جدید با وارد کردن مختصات‌ها به یک جزیره دیگر هدایت شد. در سمت راست نمایش شهر، می‌توان قسمت‌های "سربازان موجود در شهر"، "تجارت ممتاز"، "نیروهای شبیه سازی شده"، "لیست ساختمان سازی"، "ترخیص سربازها" و "جاسوسی" (در شهرهای دیگر توسط جاسوسان) را مشاهده کرد.
حداقل وضوح تصویر در بازی ایکاریم ۷۶۸×۱۰۲۴ پیکسل به عنوان طراحی قدیمی باقی می‌ماند. با این حال جزیره‌ها و شهرها اکنون بزرگتر شده‌اند، این بدان معنی است که گاهی ممکن است بعضی تصاویر دیده نشوند. با حرکت دادن ماوس هر بازیکن می‌تواند تصویر را جابه‌جا نماید تا قسمت‌های غیرقابل رویت را ببیند. اگر این روش برای بازیکن امکان پذیر نباشد، می‌تواند از قسمت کنترل موقعیت در پایین صفحه استفاده کند.
در صفحات بازی، ساختمان‌ها و قسمت‌های زیادی تغییر کرده‌اند تا با طرّاحی جدید هماهنگ شوند.
بعضی از تصاویر برای طرّاحی جدید بهینه شده‌اند و یا اندکی تغییر کرده‌اند. این تغییرات در "بندرگاه"، "موزه"، "محل‌تجارت"، "مشاور سیاسی" و "قسمت راهنما" صورت گرفته‌اند.
page1 - page2 - page3 - page4 - page5 - page7 - page8 - | 3:14 am
خط مشی جاوا

یکی از ویژگی‌های جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سخت‌افزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره می‌کند، اما نه به‌صورت کد ماشین بلکه به‌صورت بایت‌کد جاوا. دستورالعمل‌ها شبیه کد ماشین هستند، اما با ماشین‌های مجازی که به طور خاص برای سخت‌افزارهای مختلف نوشته شده‌اند، اجرا می‌شوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده می‌کند. کتابخانه‌های استاندارد یک راه عمومی برای دسترسی به ویژگی‌های خاص فراهم می‌کنند. مانند گرافیک، نخ‌کشی و شبکه. در بعضی از نسخه‌های ماشین مجازی جاوا، بایت‌کدها می‌توانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایت‌کد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامه‌های ترجمه شده تقریباً همیشه کندتر از برنامه‌های کامپایل شدهٔ محلی اجرا می‌شوند. این شکاف می‌تواند با چند تکنیک خوش‌بینانه که در کاربردهای 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 نمایش داده می‌شود.
 
ساعت : 3:14 am | نویسنده : admin | مطلب قبلی | مطلب بعدی
جاوا | next page | next page