جاوا یک زبان برنامه نویسی سطح بالا و شی گرا است که توسط جیمز گاسلینگ در شرکت سان مایکرو سیستمز ساخته شده است. دستور زبان جاوا (Syntax) بسیار شبیه به زبان های برنامه نویسی C و ++C است. زبان جاوا نسبت به ++C مدل شی گرایی ساده تری دارد و از قابلیت های سطح پایین کمتری پشتیبانی می کند. جاوا در سال ۱۹۹۵ یعنی در حدود ۲۰ سال پیش رسما معرفی شد.
جاوا از ابتدای کار شعاری را برای خودش در نظر گرفت و آن این بود که: "برنامه را یک بار بنویسید و همه جا اجرا کنید." منظور از این جمله این است که زبان جاوا مستقل از سخت افزار و نرم افزار است. یعنی برنامه نویس جاوا هنگام نوشتن برنامه اصلا نیازی نیست که به این مسئله فکر کند که برنامه وی قرار هست در چه محیطی (لینوکس، ویندوز، مکینتاش و ...) اجرا شود. چون اجرا کننده برنامه های جاوا، JVM است و این وظیفه ماشین مجازی جاوا (Java Virtual Machine) است تا برنامه ما را منطبق بر محیطی که برنامه روی آن اجرا می شود، اجرا کند.
یکی دیگر از خصوصیات زبان جاوا، شی گرا بودن آن است. شی گرایی یک مفهوم بسیار گسترده و جالب است و در جاوا به جز روش شی گرایی، به روش دیگری نمی توان برنامه نوشت.
با جاوا چه برنامه هایی می توان نوشت؟
با جاوا حوضه بسیار گسترده ای از برنامه ها را می توان نوشت. از برنامه های دسکتاپ یا همان رومیزی گرفته تا برنامه های وب و توزیع شده، برنامه های موبایل و در کل برای پلتفرم های پرتابل. همچنین می توان از جاوا در بازی سازی نیز استفاده کرد. اما همانطور که قبلا گفتیم، جاوا از قابلیت های سطح پایین کمتری پشتیبانی می کند و منطقی نیست که برنامه هایی بنویسیم، که لازم باشد با سخت افزار ارتباط برقرار کند. مثلا برای ارتباط با پرینتر. (هرچند که این کار غیر ممکن نیست).
نحوه اجرا شدن برنامه های جاوا
فرض کنید میخواهیم برنامهای به زبان جاوا بنویسم. بنابراین ابتدا یک ویرایشگر متن (مثل نُت پد) را اجرا میکنیم و کدهای برنامه را در فایل نت پد مینویسیم. بعد از نوشتن کدهای برنامه، ما برنامه را با پسوند java. ذخیره میکنیم و سپس توسط کامپایلر جاوا، برنامه را کامپایل میکنیم. در پروسه کامپایل اگر خطای دستوری در برنامه وجود داشته باشد مشخص میشود و برنامه کامپایل نمیشود. اما اگر خطایی در کار نباشد، برنامه کامپایل میشود و کامپایلر جاوا فایلی ایجاد میکند با پسوند class. که اگر این فایل class. را اجرا کنیم با کدهایی ناخوانا مواجه میشویم. به این کدها، کدهای میانی یا بایت کد گفته میشود. حال اجرای این بایت کدها بر عهده JVM است. JVM همانند شکل زیر این بایت کدها را با توجه به نوع سیستم عامل و سخت افزاری که روی آن نصب است، به زبان ماشین یا همان صفر و یک تبدیل میکند و در آخر، برنامه اجرا میشود.
جاوا در سه نسخه رسمی ارائه شده است. این سه نسخه عبارت اند از:
Java SE که مخفف Standard Edition است و همانطور که از نامش پیداست، نسخه پایه و استاندارد جاوا است و برای نوشتن هر برنامهی جاوا به این نسخه احتیاج است.
Java ME که مخفف Micro Edition است. نسخهای برای نوشتن برنامه روی سخت افزارهای خاص مانند لوازم خانگی، موبایل، اسباب بازیها و ... است. امروزه این نسخه از جاوا با وجود موبایلهای هوشمند، کمتر مورد استفاده قرار میگیرد.
Java EE که مخفف Enterprise Edition است. نسخهی مدرن و سازمانی جاوا است. از این نسخه برای نوشتن برنامههای روی سرور استفاده میشود. در کل Java EE مجموعه ای از تکنولوژیها است و یادگیری این نسخه از جاوا سخت و زمانبر است و باید سالها به طور عملی کار شود تا بتوان خود را به عنوان یک Java EE کار حرفهای معرفی کرد.