موضوع مقاله: سکوی جاوا | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # سکوی جاوا | مقدمه: بن‌سازه، یا پلتفرم جاوا به مجموعه‌ای از محصولات نرم‌افزاری و مشخصه‌ها از شرکت سان میکروسیستمز، یک زیر مجموعه از شرکت اوراکل گفته می‌شود که به منظور ایجاد محیطی برای نوشتن نرم‌افزارهایی که به صورت چندسکویی اجرا می‌شوند به کار می‌رود. | ## بخش 1: سکوی جاوا | کاربردهایی را محدودهٔ وسیعی از سکوهای محاسباتی، سامانه‌های توکار، تلفن‌های همراه که کاربردهایی در دستگاه‌های معمولی هستند تا دستگاه‌هایی از قبیل ابررایانه ها و رایانه‌های خدمتگزار را شامل می‌شود. البته گستردگی جاوا به اندازه‌ای که در خدمتگزاران وب و رایانه رومیزی استفاده می‌گردد، نیست. جاوا اپلت، به عنوان بخشی از سکوی جاوا، برای فراهم آوردن عملیاتی توسعه یافته و ایمن، در وب استفاده می‌گردد. نوشتن برنامه به زبان جاوا، راهی برای تولید کد این زبان است که در نهایت منجر به تولید بایت کد می‌گردد. هرچند مترجم زبان‌هایی مانند جاوا اسکریپت، روبی، پایتون نیز قادر به تولید بایت کد می‌باشند. امروزه تعدادی از زبان‌های برنامه‌نویسی به گونه‌ای طراحی شده‌اند که قابل اجرا روی ماشین مجازی جاوا باشند. جاوا با ساده‌سازی استفاده از تملک حافظه (با روش قرارگیری روی هیپ) و نیز حذف عناصر سطح پایینی چون اشاره گر و جایگزینی آن‌ها با مراجع ساده‌سازی در زبان صورت پذیرفته‌است. از سویی دیگر مدیریت حافظه با استفاده از بخش یکپارچه و خودکار با نام زباله‌روب ، وسیله ماشین مجازی جاوا صورت می پذیرد. در ۱۳ نوامبر سال ۲۰۰۶(۲۲ آبان ۱۳۸۵)، شرکت سان میکروسیستم بخش عظیمی از جاوا را تحت پروانه عمومی همگانی گنو منشر نمود. اگرچه بخش‌هایی از جاوا، هرچند اندک، هنوز به دلیل مسایل کپی رایت با مجوز سان و به صورت بایت کدهایی از پیش کامپایل شده، منتشر گردید؛ چرا که این بخش‌های متعلق به شرکت سان نیست. سکو سکوی جاوا، نامی برای نرم‌افزارهای یا سکو مرتبطی استکه از سوی شرکت سان، برای توسعه و اجرای برنامه‌های نوشته شده به زبان جاوا منتشر شده. عبارت سکو، بیانگر پردازنده یا سیستم عامل خاصی برای اجرا برنامه‌های جاوا نیست، بلکه بیانگر موتور اجرایی این زبان ( که با نام ماشین مجازی جاوا معرفی می‌گردد) است. همچنین بیانگر مترجمی با مجموعه‌ای از کتابخانه هاست که قابلیت اجرایی فارغ از سخت افزار و سیستم عامل های مختلف، را داراست. بنابراین جاوا به صورت مشخصی بر روی هر دستگاهی که ماشین محازی داشته باشد اجرا می‌گردد. | ## بخش 2: سکوی جاوا | جاوا کارت : به فناوری ایی گفته می‌شود که به برنامه‌های مبتنی بر جاوا(اپلت ها) اجازه اجرایی امن بر روی کارت‌های هوشمند و دستگاه‌های مشابه، را می‌دهد. جاوا نگارش ریز: مجموعه از چندین کتابخانه را مشخص می نماید که برای دستگاه‌هایی است که توانایی پشتیبانی کامل از کل مجموعه کتابخانه‌های جاوا را ندارند. چراکه که در صورت استفاده از تمام کتابخانه‌ها، بخش عظیمی از فضای ذخیره‌سازی را شامل می‌گردد. جاوا نگارش استاندارد : برای اهداف عمومی که قابل استفاده در رایانه رومیزی، کارگزار و ابزارها و دستگاه‌های مشابه است. جاوا نگارش سازمانی : در واقع همان نگارش استاندارد جاوا به همراه رابط برنامه‌نویسی نرم‌افزار متنوع و مفیدی برای مشتری خدمتگزار و معماری چندلایه و خدومت‌گزار کاربردیاست. در ماه سپتامبر۲۰۰۹، نگارش سابق سکوی جاوا با شماره ۱.۶.۰، که به صورت تجاری نگارش ۶ خوانده می‌شود منتشر شد. اوارکل که پس از خرید سان، عنوان توسعه‌دهندۀ رسمی جاوابه جای این شرکت بر عهده گرفته‌است در تاریخ ۲۸ ژوئیه ۲۰۱۱(۶ مرداد ۱۳۹۰) نگارش هفتم جاوا را با کد ۱.۷.۰ را منتشر ساخت. اگرچه این انتشار با اعلام امکان بروز برخی خطاها در کامپایل برنامه‌ای ارائه شده از سوی بنیاد آپاچی، مانند لوسنه و سولار همراه بوده‌است. برای مثال، مترجم جاوا، که وظیفه اش تبدیل کد جاوا به بایت کد جاواست (که زبانی واسط برای ماشین مجازی جاواست) به عنوان بخشی از کیت توسعه جاواست. این محیط با اجرای کامپایل درجا، بایت کدهای تولید در واسط را به زبان بومی ماشینی که برنامه در آن در حال اجراست، تبدیل می نماید. همچنین کتابخانه‌هایی گسترده‌ای وجود دارند که به صورت از پیش ترجمه شده که شامل مؤلفه‌هایی هستند که بعضی از آن‌ها فقط در نگارش‌های خاص استفاده می‌شوند.frame|وسط|دیاگرام سکوی جاوا منتشر شده از سوی سان ماشین مجازی جاوا قلب تپنده سکوی جاوا، مفهوم "ماشین مجازی" است. بایت کد فارغ از نوع سخت افزار و سیستم عاملی که برنامه در آن در حال اجرا می‌شود، یکسان است. این کامپایلر، بایت کدهای جاوا را به صورت دستورات بومی همان پردازندهٔ مجری برنامه، به شکل زمان اجرا، تبدیل می نماید. این کامپایلر همچنین، کد اصلی را به صورت بومی شده برای زمان اجرا، در حافظه مقیم می‌سازد.این شکل استفاده از بایت کد، به عنوان یک واسط، جاوا قادر به اجرا در هر سکویی که دارای ماشین مجازی باشد، است. | ## بخش 3: سکوی جاوا | جی ای تی با این امکانات، زمینه را به نحوی فراهم می‌سازد که برنامه بعد از اجرا، تقریباً با سرعتی معادل با برنامه بومی همان سیستم قابل اجراست. از زمان ارائه نگارش 1.2 محیط اجرای جاوا، مفسر این زبان جایش را به پیاده‌سازی دیگری از شرکت سان داد. اگرچه برنامه‌های جاوا، فارغ از نوع سکوست، ولی فاغ بودن شامل کد ماشین مجازی جاوا مجری نمی‌شود. سکوهای مشابه موفقیت و گسترش جاوا و این تفکر و مفهوم نوشتن یکبا، اجرا همجا، باعث گردید تا تلاش‌های مشابهی برای ایجاد سکوهای همسان شروع شود. یکی از این تلاش‌ها، دات نت مایکروسافت بود که در سال ۲۰۰۲ رو نمایی شد، که بسیاری از جنبه‌های عالی جاوا را پیاده‌سازی نموده بود. دات نت، با پایان پیاده‌سازی اش از سوی مایکروسافت، تنها قادر به اجرا تحت ویندوز این شرکت است. دات نت از ابتدا برای پشتیبانی از چندین زبان برنامه‌نویس طراحی گردیده بود، در حالی که سکوی جاوا، تنها یک هدف با نام زبان برنامه‌نویس جاوا داشت.(اگرچه امروزه بسیاری از زبانه‌ها قادر به اجرا در ماشین مجازی جاوا هستند). دات نت، زبان جاوا مانندی با نام جی‌شارپ (جی++ سابق) را طراحی نمود که با خصوصیات جاوا همخوانی کامل را ندارد و بسیاری از کلاس‌های منتشر شدهٔ آن مربوط به نگارش ۱.۱ جاواست. به همین دلیل، به عنوان یک زبان برای انتقالی از جاوا به سمت سکوی دات نت، و نه یک زبان از دات نت، در نظر گرفته می‌شود. نگارش موجود، که با بسته مایکروسافت ویژوال استودیو ارائه می‌گردد و تنها تا سال ۲۰۱۵، در طی استراتژی چرخه زمانی، باقی خواهد ماند زبان‌های مورد استفاده کلمه جاوا معمولاً برای اشاره به زبان برنامه‌نویسی جاوا استفاده می‌گردد. با این وجود، افراد و شرکت‌های ثالث برخی از مترجم و مفسرهایی را با هدف استفاده از امکانات ماشین مجازی جاوا، طراحی و پیاده‌سازی نموده‌اند. بعضی از آن‌ها برای زبان‌هایی طراحی شده‌اند که در حال حاضر نیز موجود هستند، در حالی که بعضی دیگر برای گشترش به نگارش از زبان جاوای خود هستند. این‌ها شامل : کلوژر جی روبی، مفسر روبی گروی جایتون، مفسر پایتون که شامل جیتونیک، یک مبدل پایتون به جاوا اسکالا رهینو، مفسر جاوا اسکریپت کیت توسعه جاوا کیت توسعه جاوا، محصولی از سان برای توسعه دهندگان جاواست که از زمان پیدایش جاوا، بسیار مورد توجه قرار گرفته‌است. | ## جمع‌بندی | این بسته شامل یک مترجم و تعداد دیگر از ابزارهای مهم برای توسعه جاواست، ازجمله یک کپی کامل از ماشین مجازی جاوا.