جاوا

جاوا استقلال از محیط را با استفاده از ماشین مجازی انجام می دهد. در واقع ماشین مجازی، کامپیوتری در کامپیوتر دیگر است. ماشین مجازی برنامه های کامپایل شده ی جاوا را می گیرد و دستورات آن را به فرمان هایی تبدیل می کند کهسیستم عامل می تواند با آنها کار کند. کد ماشین مجازی را "بایت کد" (bytecode) می نامند. برنامه ی کامپایل شده که به شکل بایت کد است، می تواند بر روی هر کامپیوتر و سیستم عاملی که ماشین مجازی را دارد اجرا شود. ماشین مجازی را مفسر جاوا و یا روتین جاوا (java routine) نیز می نامند. به طور کلی می توان گفت که لازم نیست برنامه نویس جاوا، چندین نسخه از برنامه را برای محیط های مختلف بنویسد، زیرا ماشین مجازی جاوا آن برنامه را برای محیط های مختلف ترجمه می کند.

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

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

جاوا مستقل از محیط است

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

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

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

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

اگر برنامه هایی می نویسید که سرعت آن ها باید بیشتر از ماشین مجازی باشد، به دو روش زیر می توانید عمل کنید:

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

2. از کامپایلرهای بی درنگ (just in time) استفاده کنید که بایت کد جاوا را به کدی برای ماشین های خاص تبدیل می کند. 

/ 0 نظر / 24 بازدید