زبان برنامه نویسی جاوا در اوایل دهه 1990 توسط Sun Microsystems ساخته شد. اگرچه در درجه اول برای برنامه های مبتنی بر اینترنت استفاده می شود ، اما Java یک زبان ساده ، کارآمد و با کاربرد عمومی است. جاوا در ابتدا برای برنامه های شبکه جاسازی شده ای که روی چندین سیستم عامل اجرا می شوند ، طراحی شده است. این یک زبان قابل حمل ، شی گرا ، تفسیر شده است.
جاوا فوق العاده قابل حمل است. همان برنامه جاوا بدون در نظر گرفتن ویژگی های سخت افزاری یا سیستم عامل ، به طور یکسان در هر رایانه ای اجرا می شود ، به شرطی که دارای مفسر جاوا باشد. علاوه بر قابل حمل بودن ، یکی دیگر از مزایای کلیدی جاوا مجموعه ویژگی های امنیتی آن است که از یک کامپیوتر شخصی که یک برنامه جاوا را اجرا می کند نه تنها در برابر مشکلات ناشی از کد اشتباه بلکه در برابر برنامه های مخرب (مانند ویروس ها) محافظت می کند. می توانید با اطمینان یک برنامه جاوا را که از اینترنت بارگیری شده است ، اجرا کنید ، زیرا ویژگی های امنیتی جاوا از دسترسی این نوع برنامه ها به هارد دیسک کامپیوتر یا اتصالات شبکه جلوگیری می کند. اپلت به طور معمول یک برنامه کوچک جاوا است که در یک صفحه HTML جاسازی شده است.
جاوا را می توان هم زبان کامپایل شده و هم زبان تفسیری در نظر گرفت زیرا کد منبع آن ابتدا به یک بایت کد باینری وارد می شود. این بایت کد بر روی ماشین مجازی جاوا (JVM) اجرا می شود که معمولاً یک مفسر مبتنی بر نرم افزار است. استفاده از کد بایت کامپایل شده به مفسر (ماشین مجازی) اجازه می دهد تا کوچک و کارآمد باشد (و تقریباً به همان سرعتی است که پردازنده مرکزی کد وارد شده و بومی را اجرا می کند). علاوه بر این ، این بایت کد به جاوا قابلیت حمل خود را می دهد: بدون در نظر گرفتن پیکربندی سخت افزار کامپیوتر یا نرم افزار ، روی هر JVM که به درستی پیاده سازی شده باشد ، اجرا می شود. بیشتر مرورگرهای وب (مانند Microsoft Internet Explorer یا Netscape Communicator) دارای JVM برای اجرای برنامه های جاوا هستند.
در مقایسه با C ++ (زبان شی گرا دیگر) ، کد جاوا کمی کندتر عمل می کند (به دلیل JVM) اما قابل حمل تر است و از ویژگی های امنیتی بسیار بهتری برخوردار است. ماشین مجازی بین برنامه جاوا غیرقابل اعتماد و رایانه ای که نرم افزار را اجرا می کند ، جداسازی می کند. نحو جاوا شبیه C ++ است اما زبانها کاملاً متفاوت هستند. به عنوان مثال ، جاوا به برنامه نویسان اجازه نمی دهد بیش از حد عملگر را در حالی كه C ++ انجام می دهد ، اعمال كنند. علاوه بر این ، جاوا یک زبان پویا است که می توانید با خیال راحت برنامه را هنگام اجرا تغییر دهید ، در حالی که C ++ به شما اجازه نمی دهد. این امر به ویژه برای برنامه های شبکه ای که توانایی پرداخت هرگونه خرابی را ندارند مهم است. همچنین ، همه انواع داده های جاوا از پیش تعریف شده اند و به پلت فرم وابسته نیستند ، در حالی که برخی از انواع داده ها می توانند با بستر استفاده شده در C یا C ++ (مانند نوع int) تغییر کنند.
برنامه های جاوا ساختار بالاتری نسبت به معادل های C ++ دارند. همه توابع (یا متدهای جاوا) و دستورات اجرایی در جاوا باید در یک کلاس قرار داشته باشند در حالی که C ++ اجازه می دهد تعاریف عملکرد و خطوط کد در خارج از کلاس ها وجود داشته باشد (مانند برنامه های سبک C). داده ها و روش های جهانی نمی توانند در خارج از کلاس در جاوا قرار بگیرند ، در حالی که C ++ این اجازه را می دهد. این محدودیت ها ، هر چند گاهی دشوار است ، اما به حفظ یکپارچگی و امنیت برنامه های جاوا کمک می کند و آنها را مجبور می کند کاملاً شی گرا باشند.
یکی دیگر از ویژگی های کلیدی جاوا این است که یک استاندارد باز با کد منبع عمومی است. سان مایکروسیستم سیستم زبان جاوا و محصولات مرتبط با آن را کنترل می کند اما سیاست مجوز لیبرال سان باعث شده جامعه اینترنت از جاوا به عنوان یک استاندارد استقبال کند. شما می توانید تمام ابزارهای مورد نیاز برای توسعه و اجرای برنامه های جاوا و برنامه های کاربردی جاوا را از وب سایت Sun Java (http://java.sun.com) بارگیری کنید.
در اینجا یک برنامه ساده جاوا وجود دارد که به طور متوسط اعداد وارد شده از صفحه کلید را وارد می کند:
در این مثال ، کلاس AverageProgram (که برنامه است) فقط شامل یک روش (تابع) ، اصلی () است. توجه داشته باشید که بیشتر نحوها همان C یا C ++ است ، از جمله جداکننده های نظر: شما می توانید از جداکننده های سبک C (/ * * /) یا C ++ (//) در جاوا استفاده کنید. حتی دستور while () مانند C / C ++ عمل می کند. خروجی به صفحه با استفاده از System.out.println () ، جایی که println () یک روش فراخوانی شده از استاندارد Java System.out است ، انجام می شود. جاوا همچنین دارای یک شی System.in برای خواندن از صفحه کلید است ، اما برای مفید بودن باید پردازش شود. در این مثال ، ConsoleIn یک کلاس تعریف شده قبلی است (که از System.in استفاده می کند) ، که شامل روش Readlnt برای خواندن یک مقدار صحیح است.
همانند سایر زبانهای برنامه نویسی که بررسی کرده ایم ، این فقط نمای مختصری از جاوا بود. برای جزئیات بیشتر ، به یکی از متون جاوا در کتابشناسی مراجعه کنید یا به وب سایت جاوا Sun Microsystems (http://java.sun.com) مراجعه کنید.