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





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





ترس و بقا

ترس و بقا (به انگلیسی: Survival horror) یکی از سبک‌های بازی‌های ویدئویی است که در زیرمجموعهٔ سبک اکشن-ماجراجویی با احساس ترس و وحشت قرار می‌گیرد. این دسته از بازی‌ها با فراهم نمودن یک محیط ترسناک، فضایی رعب‌آور را با در اختیار گذاردن مقدار ناچیزی مهمات و سلاح ایجاد می‌کند.
گرچه ممکن است در این سبک از بازی‌ها، مبارزه در فضای گیم‌پلی با دشمنان و مهاجمان، بسیار پررنگ و قابل لمس باشد، اما به دلیل کمبود مهمات و سلاح‌های قدرتمند در مقایسه با سایر بازی‌های اکشن-ماجراجویی، کاری بسیار سخت و قهرمان‌گونه را برای گیمر ایجاد می‌کند. علاوه بر این ویژگی‌ها، گیمر باید در جریان مبارزه‌ها و پیشبرد مراحل این‌چنین بازی‌هایی، به جمع‌آوری آیتم‌های آشکار و مخفی، عبور از مراحل و بخش‌های معمایی، انجام یک بازی خطی، وارد شدن به محیط‌های جدید که به آرامی و با کمترین لمس گیمر صورت می‌پذیرد را درکنار تمامی ویژگی‌های ترسناک و کمبود مهمات و فزایندگی مهاجمان و محیط‌های ترسناک تجربه کند. در این‌گونه بازی‌ها، حرکت‌های سریع، هجوم دشمنان و درجه‌های سختی متفاوت نیز به‌چشم می‌خورد.

اشاره به واژهٔ ترس و بقا به عنوان یک سبک شناخته شده در بازی‌های رایانه‌ای، برای نخستین بار، در سال ۱۹۹۶ به‌کار برده شد. زمانی که شرکت کپ‌کام بازی رزیدنت ایول را منتشر کرد. رزیدنت ایول، تاثیر فراوانی از بازی خانه زیبا که در سال ۱۹۸۹ عرضه شد به خود گرفت. بازی‌هایی در این سبک نیز پیش از رزیدنت ایول بودند که دارای پیش‌زمینه ترس و بقا بودند، اما استفاده از این واژه برای این سبک، توسط رزیدنت ایول مطرح و با همین بازی، فراگیر شد. این سبک از بازی‌های ویدئویی در سال ۲۰۰۵ و با انتشار رزیدنت ایول ۴ دچار یک دگرگونی در ساختار خود شد و ویژگی‌های گوناگونی به این سبک افزود. به این ترتیب که بازی دچار افزایش ویژگی‌های اکشن و مبارزاتی شده بود. منتقدان، اضافه شدن این ویژگی‌ها را آسیب‌رسان به این سبک دانسته بودند اما موافقان، با اضافه شدن حرکت‌ها و ویژگی‌های یک بازی اکشن به این سبک از بازی، درحالی که ویژگی‌های ترسناک و رعب‌آور خود را حفظ و یا در فرمی دیگر نمایش دهد، راضی‌کننده و بیانگر یک نوآوری می‌دانستند.





تیراندازی اول شخص

تیراندازی اول شخص (به انگلیسی: First-person shooter) سبکی در بازی رایانه‌ای است که خود زیرمجموعهٔ سبک‌های تیراندازی و اکشن قرار می‌گیرد، گیم‌پلی بازی به صورتی طراحی شده که بازی‌کننده فقط دست‌ها و اسلحه شخصیت بازی و محیط بازی را می‌تواند مشاهده کند.

از نمونه های موفق این سبک می توان به هیلو و نیمه جان اشاره کرد.





تیراندازی سوم شخص

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





جهان باز

جهان باز یا دنیای آزاد (به انگلیسی: Open World) نوعی طراحی فضا در بازی ویدئویی است که در آن یک بازیکن می تواند آزادانه در یک دنیای مجازی سیر کند وهمجنین درآن آزادی قابل توجهی در انتخاب اینکه چطور ویا چه موقع به اهداف(Objectives) نزدیک شود داده است.

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






گیم پلی و طراحی

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





راهبرد بی‌درنگ

استراتژیک بی‌درنگ یا استراتژی بی درنگ (به انگلیسی: Real-time strategy (RTS)) سبکی از بازی استراتژیک است که تغییرات در بازی به صورت لحظه به لحظه اعمال می‌شوند. تقریباً می‌توان گفت بازی استراتژیکی که فصل محور نباشد استراتژیک بی‌درنگ است. در سبک بازی جنگی موقعیت بازیکنان واحدها و ساختمانهای تحت کنترل آن در مناطق امن در نقشه قرار دارد و به جنگ با دشمنان می پردازد.

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





سبک مخفی‌کاری

یک بازی مخفی‌کاری (به انگلیسی: stealth game) نوعی بازی است که فرد باید بدون جلب توجه دشمن از میان آنها بگذرد. و اولین بار توسط بازی قلعه ولفشتاین و در سال ۱۹۸۱ معرفی شد، اما تا سال ۱۹۹۸ طرفدار چندانی نیافت اما با انتشار بازی متال گیر سالید برای پلی‌استیشن محبوبیت یافت و همراه بازی متال گیر ۲: فرزندان آزادی نزدیک به ۷ میلیون نسخه فروخت.

در میان سبک مخفی‌کاری زیر شاخه‌های متفاوتی وجود دارد مثلاً در بازی هیتمن فرد باید یکی از دشمنان را کشته و لباس او را بپوشد تا شناسایی نشود اما در بازی‌های اسپلینتر سل و منهانت فرد باید در سایه یا پشت اجسام مخفی شود تا بتواند از دست دشمنان بگریزد و در بازی کیش یک آدم‌کش بعد از شناسایی باید میان راهبه‌ها یا کاه‌ها یا میان مردم روید تا مخفی شود.





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






شکل گیری نام

در ایران اولین بار مجله دنیای بازی از نام سکوبازی برای این سبک نام برد و در نقدها و مقالات خود از این نام استفاده می‌کند. به دلیل روان بودن نام در زبان فارسی، این نام تقریباً در بین بازی کننده‌های ایرانی هم جا افتاده‌است.





فصل محور

فصل محور یا استراتژی نوبتی یا راهبرد نوبتی (به انگلیسی: Turn-based Strategy) سبکی است در بازی‌های رایانه‌ای که زیرمجموعهٔ سبک راهبردی است. این سبک به مانند بازی شطرنج است و بازیکن‌ها به نوبت تغییراتی را در بازی اعمال می‌کنند و مهره‌های یکدیگر را نیز به نوبت حرکت می‌دهند. در این سبک نیز به مانند سبک راهبردی، هدف بازی غلبه بر حریف با پیش گرفتن رویهٔ مناسب است.






زیرمجموعه‌ها

این سبک دارای چند زیر مجموعه است:

فانتزی
تاریخی
مدرن
علمی تخیلی







نمونه‌ها

سری تمدن
سری مریدان
سری جنگ‌های فانتزی
سری جنگ تن به تن
سری جنگ تمام‌عیار (سری)





گیم‌پلی غیرخطی

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

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

در بعضی از بازی‌ها مانند اسپیلنترسل تام کلنسی: مامور دو جانبه بیش از یک انتخاب برای پایان بازی وجود دارد





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






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





نقش‌آفرینی
نقش آفرینی (به انگلیسی: Role-playing video game) سبکی از بازی‌های ویدئویی است که ریشه در بازی‌های تخته‌ای و نوشتاری قدیمی مانند اژدها و سیاهچاله‌ها دارد. بازیکن در این سبک بازی‌ها یک یا چند شخصیت را در جریان ماموریت‌های مختلف در دنیایی خلایی هدایت می‌کند. در این بازی‌ها معمولاً داستان بسیار قوی بوده و علاوه بر خط داستانی اصلی شامل ماجراهای فرعی متعدد می‌شود.






ویژگی‌ها

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






داستان و فضا

معمولاً بازی‌های نقش آفرینی در محیط فانتزی و در دنیایی دیگر رخ می‌دهند. داستان‌ها چند لایه و غیر خطی هستند و اطلاعات مختلف در مورد شخصیت‌ها و ماجرا ها به تدریج آشکار می‌شوند. برای مثال فاینال فانتزی ۷ دارای چنان داستان پیچیده‌ای است که با یک بار تمام کردن بازی تمام جزئیاتش آشکار نمی‌شود. به دلیل وجود جزئیات بالا در داستان صداگذاری شخصیت‌ها در ابتدا چندان مرسوم نبود. اما امروزه به لطف پیشرفت تکنولوژی این امر میسر شده. از جمله بازی‌هایی که به خاطر ابداعات در زمینه صداگذاری مشهورند می‌توان به فاینال فانتزی ۱۰ و الدر اسکورولز ۴: آبلیویئن اشاره کرد.






روندبازی

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





گیم‌پلی

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





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






کتاب‌شناسی

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

امیلی رودا در در جستجوی دلتورا پویشی نوجوانانه به دنبال یافتن هفت گوهر آغاز می‌کند.






در واژه

پویش در واژه اسم مصدر پوییدن میباشد، یعنی به دنبال چیزی یا کسی و با کاوش یا اسم مصدر کاوییدن تفاوت دارد. پوییدن -> بپوی -> پوی -> پوی + یش -> پویش






رسانه ها

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






سازمان ها و شرکت ها

در فضای تجارت و کسب و کار شرکتی با نام گروه پویش وجود دارد.






شبکه های اجتماعی

در فضای شبکه های اجتماعی (فیس بوک) صفحه ای با عنوان گروه پویش (Pouyesh Group) وجود دارد که مقالات روز و عکس های خلاق می گذارد.





جان

جان در بازی رایانه‌ای عبارت از کمیتی است که تعداد فرصت‌های در دسترس بازیکن برای ادامهٔ بازی در صورت خطا کردن یا سوختن را نشان می‌دهد.

شیوهٔ تبیین مصرف جان به شیوهٔ برخورد با سوختن بستگی دارد. همچنین شیوهٔ استفاده از آن هم تفاوت می‌کند.





دنیای مجازی

دنیای مجازی و یا انبوه چند نفره برخطِ جهان (MMOW) یک محیط شبیه سازی شده و مبتنی بر کامپیوتر است. این اصطلاح تا حد زیادی مترادف با محیط‌های مجازیِ 3D تعاملی است که در آن کاربران به شکل آواتار برای یکدیگر قابل مشاهده‌اند.





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





زندگی دیگر

زندگی دیگر یا زندگی دوم نام یک جهان اینترنتی خیالی است که در این جهان کاربران کامپیوتر می‌توانند یک "خود دوم" بسازند و زندگی دیگری را تجربه کنند. شرکت لیندن لب سانفرانسیسکو در سال ۲۰۰۳ این بازی را ساخت. برای اجرای این بازی کاربران باید عضو سایت زندگی دوم شده و یک تصویر الکترونیکی یا کارتونی معروف به "آواتار" از خود بسازند. بعضی از افراد آواتار را شبیه به خود واقعیشان می‌سازند و بعضی کاملاً متفاوت از خود واقعیشان، مثلاً با جنسیت متفاوت و حتی موجودی خیالی و افسانه‌ای.

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

عصو شدن در این سایت مجانی است اما برای خرید زمین باید پول بپردازید. این جهان مجازی دارای واحد پولی خودش یعنی "لیندن دلار" است که این پول مجازی دارای ارزش واقعی است. هر دلار آمریکا برابر ۲۵۰ لیندن دلار است. شما می‌توانید با کار کردن در این سرزمین تخیلی پول در آورده و به خریدهای مجازی مانند خرید لباس، املاک، تفریح و. . . بپردازید. بسیاری از دانشگاهها و فروشگاهها در این وب‌گاه حضور دارند. این سایت حدود ۱۳ میلیون عضو از بیش از ۱۰۰کشور گوناگون دارد.





بازی نامرتب

بازی نامرتب (به انگلیسی: Casual game) یک بازی ویدویی است که برای گروه خواصی در نظر گرفته نشده است. در واقع بازی Casual می تواند در هر نوع گیم پلی و یا در هر سبک قرار بگیرد.

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






خلاصه مطب

بیشتر بازی های Casual دارای ویژگی های زیر می باشند

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






شبیه‌ساز پرواز

شبیه‌ساز پرواز سیستمی است که برای تقلید (یا شبیه‌سازی) رفتار هواگردها به ویژه هواپیما ساخته می‌شود.

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

از شبیه‌ساز پرواز برای تربیت خلبانان و نیز پژوهش استفاده می‌شود. نرم‌افزارهای شبیه‌سازی نیز برای رایانه‌های شخصی ساخته شده‌است.





شبیه‌ساز لوکوموتیو
شبیه‌ساز لوکوموتیو (به انگلیسی: Train simulator) دستگاهی است که برای آموزش، افزایش مهارت‌ها و آزمایش مهارت و سرعت عمل لکوموتیورانان به‌کار می‌رود.
page1 - page2 - page3 - page4 - page5 - page7 - page8 - | 3:20 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 نمایش داده می‌شود.
 
ساعت : 3:20 pm | نویسنده : admin | مطلب قبلی | مطلب بعدی
جاوا | next page | next page