نیمه جان
نیمه‌جان ۲: قسمت دوم

نیمه‌جان ۲: قسمت دوم (به انگلیسی: Half-Life 2: Episode Two) یک بازی ویدئویی علمی تخیلی به سبک تیراندازی اول شخص است که توسط شرکت والو ساخته، و در سال ۲۰۰۷ منتشر شده است. این دومین قسمت و دنباله ی بازی نیمه‌جان ۲ است. نیمه‌جان ۲: قسمت دوم به عنوان یکی از قسمت‌های مجموعه بسته جعبه نارنجی در کنار نیمه جان ۲: قسمت نخست، درگاه و قلعه تیمی ۲ در دسترس است.





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






روندبازی

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

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





نیمه‌جان: آبی پوش

نیمه‌جان: آبی پوش (به انگلیسی: Half-Life: Blue Shift) یک بسته تکمیلی برای بازی ویدئویی علمی تخیلی نیمه‌جان شرکت والو است. این بازی توسط گیرباکس سافتور بهمراه شرکت والو ساخته شده است و سییرا انترتینمنت آن را در ۱۲ ژوئن، ۲۰۰۱ منتشر کرده است. این بازی دومین بسته تکمیلی برای بازی نیمه‌جان است که در ابتدا قرار بود یکی از قسمت‌های نسخه دریم‌کست باشد، اما بعدها این نسخه لغو گردید و نسخه رایانه شخصی آن تولید و منتشر گردید. این بازی توسط استیم در ۲۴ اوت ۲۰۰۵، به صورت آنلاین به اشتراک گذاشته شد.

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

این بازی با میانگین امتیازه ۶۷٫۴۰ و ۷۱ از ۱۰۰ به ترتیب در سایت‌های گیم‌رنکینگز و متاکریتیک قرار دارد.





نیمه‌جان: تباهی

نیمه‌جان: تباهی (به انگلیسی: Half-Life: Decay) یک بسته تکمیلی برای بازی رایانه‌ای علمی تخیلی نیمه‌جان، شرکت والو است. این بازی توسط گیرباکس سافتور ساخته شده است و سییرا انترتینمنت آن را در ۱۴ نوامبر ۲۰۰۱، برای کنسول پلی استیشن ۲ منتشر کرده است. این بازی سومین بسته تکمیلی در سری بازی نیمه‌جان است و مانند قسمت‌های قبلی در رخدادها و طول زمانی اولین نسخه اتفاق می‌افتد، اگرچه داستان بازی از دید شخصیت‌های دیگری دنبال می‌شود. بازیکنان کنترل دو محققی که در مرکز تحقیقات بلک میسا کار می‌کنند را بدست می‌گیرند. نیمه‌جان: تباهی یک بازی چندنفره مشترک است و طوری طراحی شده که دونفر باید با همکاری یکدیگر مراحل را به پایان برسانند.





نیمه‌جان: نیروی مهاجم
نیمه‌جان: نیروی مهاجم (به انگلیسی: Half-Life: Opposing Force) یک بازی ویدئویی علمی تخیلی به سبک تیراندازی اول شخص است که توسط شرکت والو ساخته شده است. بازی توسط گیرباکس سافتور و شرکت والو ساخته شده و سییرا اینترتینمنت آن را در ۱۰ نوامبر ۱۹۹۹، برای رایانه شخصی منتشر نمود. این بازی نخستین بسته تکمیلی برای بازی نیمه‌جان است که اولین بار در آوریل ۱۹۹۹ رونمایی شد. رندی پیچفورد طراح اصلی بازی معتقد بود که گیرباکس سافتور برای اینکه شرکت والو بتواند تمرکز خود را به کارهای آینده خود بدهد، کار ساخت این نسخه را به عهده گرفته است.





اسپلینتر سل تام کلنسی: فهرست‌سیاه
اسپلینتر سل تام کلنسی: فهرست‌سیاه (به انگلیسی: Tom Clancy's Splinter Cell: Blacklist) یک بازی ویدیویی، در سبک اکشن مخفی‌کاری و ششمین بازی از سری اسپلینتر سل است که توسط یوبی‌سافت تورنتو ساخته و در اوت ۲۰۱۳ توسط یوبی‌سافت برای ایکس‌باکس ۳۶۰، ویندوز، پلی‌استیشن ۳ و وی یو منتشر شد. حوادث بازی ۶ ماه بعد از جریانات محکومیت به وقوع خواهد پیوست. بیشترین ماموریت‌های سم فیشر در خاورمیانه و به دنبال تروریستها و افرادی که به کشور امریکا خیانت کرده‌اند می‌باشد.






داستان

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






گیم‌پلی

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

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






ساخت

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





اسپلینتر سل تام کلنسی: ضروری

اسپلینتر سل: ضروری (به انگلیسی: Tom Clancy's Splinter Cell: Essentials) یک بازی ویدئویی منتشر شده توسط شرکت یوبی‌سافت است. این بازی در تاریخ ۲۱ مارس ۲۰۰۶ عرضه شده و سازنده آن یوبی‌سافت مونترآل است.





اسپلینتر سل تام کلنسی: مأمور دوجانبه
اسپلینتر سل تام کلنسی: مامور دوجانبه (به انگلیسی: Tom Clancy's Splinter Cell: Double Agent) چهارمین بازی از سری اسپلینتر سل است که توسط یوبی‌سافت تولید و انتشار یافته است. داستان این بازی توسط نویسنده آمریکایی تام کلنسی نوشته شده‌است، و درباره فردی به نام سام فیشر است که یک مامور دولتی است و به عنوان نفوذی درون یک سازمان تروریستی عضویت می‌یابد.





اسپلینتر سل تام کلنسی: محکومیت

تام کلنسی اسپیلنترسل: محکومیت (به انگلیسی: Tom Clancy's Splinter Cell: Conviction) پنجمین بازی از سری اسپلینتر سل است که توسط یوبی‌سافت تولید و منتشر شده است.






داستان

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





اسپلینتر سل تام کلنسی: نظریه آشوب
اسپلینتر سل تام کلنسی: نظریه آشوب (به انگلیسی: Tom Clancy's Splinter Cell: Chaos Theory) سومین بازی از سری اسپلینتر سل است که توسط یوبی‌سافت تولید و انتشار یافته است.





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

بازی‌های رایانه‌ای بر اساس شیوه انجام بازی و حالت گرافیکی به گروه (ژانر) های زیادی از جمله موارد اشاره شده در فهرست زیر بخش می‌گردند:

آموزشی تعلیمی Educational
اتومبیل‌رانی Driving games
مسابقه اتومبیل‌رانی Racing
راهبردStrategy
راهبرد نوبتیTurn Based Strategy
راهبرد بی‌درنگReal Time Strategy
اکشن - ماجرایی Action-Adventure
مخفی کاری Stealth Action
ترس و بقا Survival Horror
اینترنتی Online games
سکوییPlatformers
تیراندازی Shooters یا Shoot'em Up
تیراندازی سوم شخص Third Person Shooters
تیراندازی اول شخص First-person shooters
شبیه‌سازیSimulation
شبیه‌سازی فضایی Space simulation
ضرباهنگیRhythm games
ماجراییAdventure
مبارزه‌ای Beat 'em up/Fighting
معمایی Puzzle
نقش آفرینی (ایفای نقش) Role-Playing Games
نقش آفرینی غربی، آمریکایی یا کامپیوتری Computer RPG
نقش آفرینی کنسولی یا ژاپنی Japanese RPG
ورزشی Sports
پیجال - هزارتو (لابیرینتی) Maze games






اکشن
اهمیت بازی‌های ویدئویی

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

تحقیقات نشان داده بازی های ویدثویی باعث افزایش هوش میشوداما باعث ایجاد خشونت نیز میشود.





طراحی بازی ویدئویی

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






تاریخچه

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

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

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






دید کلی
طراحان بازی ویدئویی

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

طراح لید یا طراح اسکلت بازی (به انگلیسی: Lead Designer)، طراح کلی بازی است که وظیفه طراحی اسکلت و کلیات یک بازی را براساس پیش‌زمینه‌های ذهنی خود از داستان و یا سفارش‌های دریافت شده برعهده دارد. طراح لید، هماهنگ‌کننده تصمیم‌گیری‌های انجام شدهٔ کلان در میان افراد خارج از تیم طراحی و افراد درون تیم است و با شکل دهی اسکلت کلی بازی، چهارچوب طراحی را برای طراحان اصلی ایجاد می کند.

طراح سیستم (به انگلیسی: Systems Designer) طراح گیم‌پلی بازی و برقرار کننده توازن با سایر عناصر بازی، مانند داستان و شخصیت‌پردازی است.

طراح مرحله یا طراح محیط (به انگلیسی: Environment Designer) یکی از مهم‌ترین نقش‌ها در زمینهٔ طراحی بازی است که از کلیدی ترین افراد طراح در حال حاضر است.طراح مرحلهٔ بازی، وظیفه طراحی محیط و سطوح سه‌بعدی بازی و مأموریت‌های درون آن را به عهده دارد.

نویسنده (به انگلیسی: Writer) شخصی است که به شکل تخصصی به نویسندگی داستان بازی، مکالمات میان شخصیت‌ها و روایات نقل شده در بازی می‌پردازد.






دستمزد

در سال ۲۰۱۰، دستمزد برای یک طراح بازی با بیش از شش سال تجربه، به طور میانگین ۶۵٬۰۰۰ دلار، با سه تا شش سال تجربهٔ کار ۵۴٬۰۰۰ دلار و با کم‌تر از سه سال تجربه کار ۴۴٬۰۰۰ دلار بوده است. طراحان لید با بیش از شش سال تجربه رقمی معادل ۹۵٬۰۰۰ دلار و با تجربه سه تا شش سال، ۷۵٬۰۰۰ دلار دستمزد دریافت می‌کردند.






نقش‌ها

1) طراح لید

2) طراح سیستم

3) طراح مرحله یا طراح محیط

4) نویسنده





صنعت بازی‌های ویدئویی

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

بر اساس آمار انجمن نرم‌افزارهای سرگرمی، این صنعت فقط در ایالات متحده آمریکا، در سال ۲۰۰۷، ۹.۵ بیلیون دلار، در سال ۲۰۰۸، ۱۱.۷ بیلیون دلار و در سال ۲۰۱۰، ۲۵.۱ بیلیون دلار گردش مالی داشته است.
page1 - page2 - page3 - page4 - page5 - page7 - page8 - | 5:24 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 نمایش داده می‌شود.
 
ساعت : 5:24 pm | نویسنده : admin | مطلب قبلی | مطلب بعدی
جاوا | next page | next page