چرا JRE مهم است؟
یک برنامه نرمافزاری به یک محیط زمان اجرا نیاز دارد که دسترسی به حافظه و سایر منابع سیستم مانند فایلهای برنامه و وابستگیها را فراهم کند. در گذشته، اکثر نرمافزارها از سیستم عامل به طور مستقیم به عنوان محیط زمان اجرا استفاده میکردند. مشکلی که روش فوق داشت این بود که توسعه دهندگان باید برای هر سیستم عاملی باید کدهای متفاوتی مینوشتند تا برنامههایشان روی آن سیستم عامل اجرا شود. فناوری Java Runtime Environment به عنوان راهحلی برای این مشکل ابداع شد.
JRE در واقع یکی از سه مولفه کلیدی پلتفرم جاوا است که برای اجرای موفقیت آمیز هر برنامه مبتنی بر زبان برنامه نویسی جاوا مورد نیاز است. کیت توسعه جاوا (JDK) و ماشین مجازی جاوا (JVM) دو مولفه دیگر مهم در این زمینه هستند.
کیت توسعه جاوا
کیست توسعه جاوا (JDK) مجموعهای از ابزارهای نرمافزاری است که میتوانید برای توسعه برنامههای جاوا از آنها استفاده کنید. برای بهرهمندی از کیت فوق کافی است، آن را دانلود و در محیط توسعه نصب کنید تا قابل استفاده شود. نکته مهمی که باید در این زمینه به آن دقت کنید، نسخهای درست از JDK است که هماهنگ با نسخه جاوای مورد نظر باشد. برای مثال، Java Standard Edition یا Java SE به Java SE JDK نیاز دارند.
ماشین مجازی جاوا
ماشین مجازی جاوا (JVM) سرنام Java Development Kit نرمافزاری است که برنامه جاوا را خط به خط اجرا میکند. توسعه دهندگان تنظیمات JVM را برای مدیریت منابع برنامه هنگام اجرای برنامه جاوا پیکربندی میکنند. به عنوان مثال، میتوانید تنظیمات حافظه JVM را تغییر دهید و بررسی کنید که برنامههای جاوا شما در زمان اجرا چقدر از حافظه داخلی استفاده میکنند.
نقش JRE در زبان برنامهنویسی جاوا
JRE کد جاوا را که با استفاده از JDK ایجاد میکنید با کد داخلی اضافی به نام کتابخانهها ترکیب میکند. سپس یک نمونه JVM یا کپی محلی ایجاد میکند که در نهایت برنامههای جاوا را اجرا میکند. JVMها برای چندین سیستم عامل در دسترس هستند و JRE یک کپی از کد جاوا شما را تولید میکند که روی انواع مختلف ماشینهای مجازی جاوا قابل اجرا است. به این ترتیب، JRE استقلال پلتفرم را برای برنامههای جاوا تسهیل می کند. به بیان دقیقتر، شما میتوانید برنامههای کاربردی خود را یک بار بنویسید و در هر مکانی اجرا کنید.
چه تفاوتی میان JRE، JVM و JDK وجود دارد؟
JDK یک لایه نرمافزاری بالای JRE است که شامل یک کامپایلر، یک دیباگر و سایر ابزارهایی است که معمولا در هر محیط توسعه نرمافزار یافت میشوند. شما در JDK کدی را به نحوی شبیه به انگلیسی مینویسید. JDK آن را کامپایل میکند و کد بایت را به JRE میدهد. در مقابل، JRE شامل کتابخانههای کلاس، فایلهای پشتیبان و ماشین مجازی جاوا است. از این مولفههای نرمافزاری برای اجرای کد بایت در هر دستگاهی استفاده میشود.
JRE چگونه کار میکند؟
محیط زمان اجرای جاوا (Java Runtime Environment) در بالای سیستم عامل اجرا میشود و منابع اضافی مخصوص جاوا را فراهم میکند. کیت توسعه جاوا (JDK) و JRE برای ایجاد یک محیط زمان اجرا پایدار که فایلهای برنامه جاوا را بر روی هر ماشینی اجرا میکند، با یکدیگر تعامل دارند. JRE از سه مولفه اصلی زیر برای این کار استفاده میکند.
ClassLoader
- کتابخانههای کلاس جاوا شامل مجموعه کدهای از پیش نوشته شده هستند که میتوانید در صورت نیاز آنها را فراخوانی کنید. آنها کار توسعه دهندگان جاوا را با ارائه متدهای داخلی که عمدتا برای کارهای رایج و پیش پا افتاده مانند گرفتن ورودی از کاربران، نمایش خروجی به کاربران و غیره نوشته شدهاند، ساده میکنند. همه برنامههای جاوا به چندین کتابخانه کلاس ارجاع میدهند. Java ClassLoader به صورت پویا تمام فایلهای کلاس لازم را در صورت درخواست در ماشین مجازی جاوا (JVM) بارگذاری میکند.
Bytecode verifier
- کیت توسعه جاوا یک کامپایلر دارد که کدهای انگلیسی مانندی که شما مینویسید را به یک نسخه زبان ماشین به نام بایت کد جاوا تبدیل میکند. آنها بایتکد تایید کننده در فرمت JRE فرمت را به دقت بررسی میکنند و قبل از بارگذاری آن در ماشین مجازی جاوا بررسی میکند. به عنوان مثال، اگر کد یکپارچگی سیستم یا حقوق دسترسی را نقض کند، JRE فایل کلاس را بارگذاری نمیکند.
مفسر (Interpreter)
- پس از بارگیری موفقیت آمیز بایتکد، مفسر جاوا نمونه ماشین مجازی جاوا را ایجاد میکند که برنامه جاوا را بر روی لایههای زیرین ماشین اجرا میکند.
مولفههای JRE چیستند؟
به غیر از مولفههای اصلی محیط زمان اجرای جاوا (Java Runtime Environment) چندین مؤلفه نرم افزاری دیگر نیز وجود دارند که به اجرای کارآمدتر برنامههای جاوا کمک می کند. از مولفههای مهم در این زمینه به موارد زیر باید اشاره کرد:
ابزارهای توسعه
- JRE شامل ابزارهای توسعهای مانند جعبه ابزار رابط کاربری است که میتوانید از آنها برای بهبود کیفیت برنامههای خود استفاده کنید. از مولفههای مهم در این زمینه به موارد زیر باید اشاره کرد:
Java 2D
Java 2D یک رابط برنامهنویسی کاربردی (API) است که می توانید از آن برای ترسیم گرافیکهای دو بعدی و ایجاد رابطهای کاربری غنی، بازیها، انیمیشنها و جلوههای ویژه به زبان جاوا استفاده کنید.
Swing
- Swing یک رابط کاربری گرافیکی سبک وزن (GUI) است که سفارشیسازیهای انعطافپذیر و کاربر پسند را ارائه میدهد.
Abstract Window Toolkit
- Abstract Window Toolkit یک رابط کاربری گرافیکی است که میتوانید از آن برای ساخت اشیاء رابط کاربری مانند دکمهها، پنجرهها و نوارهای اسکرول استفاده کنید.
راه حلهای استقرار
JRE شامل فناوریهایی است که فرآیند انتشار تغییرات نرمافزاری را برای کاربران برنامههای کاربردی ساده میکند. این فناوریها همچنین پشتیبانی پیشرفتهای را برای بهروزرسانی در برنامهها ارائه میدهند. فن آوریهای استقرار مانند Java Web Start و افزونه جاوا به عنوان بخشی از نصب JRE هستند. این فناوریها فعالسازی برنامهها را ساده میکنند و همچنین پشتیبانی پیشرفتهای را برای بهروزرسانیهای آینده JRE ارائه میکنند. در زیر چند نمونه از این ابزارها آورده شده است:
Java Web Start
- با Java Web Start، میتوانید برنامه های کاربردی با امکانات کامل را با یک کلیک از مرورگر وب خود راه اندازی کنید.
افزونه جاوا
- افزونه جاوا ارتباطی بین مرورگرهای محبوب و پلتفرم جاوا برقرار میکند تا بتوانید اپلتهای وب سایت خود را در یک مرورگر دسکتاپ اجرا کنید.
کتابخانههای زبان و ابزارها
مجموعهای از فایلهای کلاس جاوا بسته جاوا (Java package) نامیده میشود. JRE شامل چندین بسته جاوا است که از نسخهسازی، مدیریت و نظارت پشتیبانی میکند. از بستههای مهم در این زمینه به موارد زیر باید اشاره کرد:
Collections framework
- Collections framework یک معماری واحد است که شامل رابطهایی برای بهبود فرآیند ذخیرهسازی و پردازش دادههای برنامه است.
Preferences API
Preferences API به چندین کاربر در یک ماشین یکسان اجازه میدهد تا گروه خود را بر مبنای اولویتهای برنامه کاربردی تعریف کنند.
Logging
- بستههای گزارشگیری در زمینه تولید گزارشهایی در ارتباط با عیبیابی حوادثی مانند خرابیهای امنیتی، مشکلات عملکردی و خطاهای پیکربندی مورد استفاده قرار میگیرند.
Java Archive
- بایگانی جاوا (JAR) سرنام Java Archive یک فرمت فایل مستقل از پلتفرم است که به شما امکان میدهد چندین فایل را بستهبندی کنید و اندازه فایل برنامه خود را کاهش دهید و سرعت دانلود را به میزان قابل توجهی بهبود بخشد.
کتابخانههای یکپارچه سازی
JRE شامل چندین کتابخانه یکپارچه است که به توسعه دهندگان در ایجاد اتصالات دادهای یکپارچه بین سرویسها و برنامههای کاربردی کمک میکند. در زیر چند نمونه از کتابخانهها آمده است:
Java IDL
- زبان تعریف رابط جاوا (IDL)، که بر اساس معماری کارگزار درخواست مشترک شیء (CORBA) سرنام Common Object Request Broker Architecture است، از اشیاء داده توزیع شده پشتیبانی میکند - یعنی اشیایی که بر روی پلت فرمهای مختلف در سراسر یک شبکه تعامل دارند. به عنوان مثال، Java IDL به اشیاء نوشته شده در جاوا اجازه میدهد تا با آنهایی که به زبان دیگری مانند سی، سیپلاسپلاس یا COBOL نوشته شدهاند، تعامل داشته باشند.
قابلیت اتصال به پایگاه داده جاوا
توسعهدهندگان از واسط برنامهنویسی کاربردی(JDBC) سرنام Java Database Connectivity برای نوشتن برنامههایی استفاده میکنند که میتوانند به پایگاههای داده، صفحات گسترده و فایلهای راه دور دسترسی داشته باشند.
Java Naming and Directory Interface
- Java Naming and Directory Interface یک سرویس دایرکتوری است که به کلاینتها امکان میدهد برنامههای قابل حملی را ایجاد کنند که اطلاعات را از پایگاههای داده خارجی با استفاده از قوانین نامگذاری واکشی کنند.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟