جاوا شباهتهایی به سیپلاسپلاس دارد، ولی قابلیت انتقال آن بهتر است و استفاده از آن ساده تر از ++C است. همچنین مدیریت حافظه نیز توسط خود ماشین مجازی جاوا انجام میشود. طراحی این زبان به گونه ایست که دارای اطمینان بسیاری بوده و وابسته به سیستم عامل خاصی نیست. و دلیل این موضوع این است که جاوا یک ماشین مجازی در سیستم شما راه میاندازد و برنامهها را در آن ماشین مجازی اجرا میکند. این ماشین مجازی «ماشین مجازی جاوا» یا به اختصار JVM نامیده میشود. البته راه انداختن یک ماشین مجازی باعث دو مشکل میشود. هنگامی که نرمافزار شما در یک ماشین مجازی اجرا میشود سرعت کمتری خواهد داشت، همچنین شما نیاز دارید قبل از اجرای برنامههای جاوا یکبار سیستم مجازی جاوا را که حجم نسبتاً بالایی دارد، از اینترنت بارگذاری و یا از جای دیگری تهیه و نصب کنید ولی مزیت آن عدم وابستگی به سیستم عامل مقصد است.
تاریخچه زبان جاوا
زبان جاوا در سال ۱۹۹۱ ایجاد شد و در ابتدا Oak نام گرفت. پیدایش آن از پروژه ای به نام Green منشا گرفت که زیر نظرJames Gosling و با هدف اتوماسیون وسایل خانگی دنبال می شد. و Oak را در برنامه ریزی این دستگاه ها به عنوان زبانی قدرتمند به کار گرفتند. ولی تا سال ۱۹۹۴ این پروژه در ناامیدی دنبال می شد، تا اینکه این تیم توسعه پس از تغییر رویه اینترنت را در اهداف کار خود گنجاند.
Oak به Java تغییر نام داده شد تا بتواند به عنوان نشان تجاری ثبت شود. Netscape Navigator ۲.۰ در سپتامبر سال ۱۹۹۵ از این زبان، که به صورت Applet بکار می رفت، پشتیبانی کرد و Microsoft در اواخر سال ۱۹۹۵ آن را بکار گرفت.
از آن زمان به بعد توانایی های این زبان رو به فزونی گذاشت. در سال ۱۹۹۶ شرکت Sun Microsystems نگارش ۱.۰ از Java Development Kit را توسعه داد. و سال بعد نگارش ۱.۱ از JavaBeans پشتیبانی کرد. در سال ۱۹۹۷ شرکت Sun بر علیه Microsoft شکایت کرد و این شرکت را متهم به نقض توافقنامه مربوط به استفاده از Java در Internet Explorer کرد. بعد از این سان JDK ۱.۲ و Swing را، که ابزار پیشرفته تری نسبت به (AWT (Abstract Windowing Toolkit برای ایجاد رابط گرافیکی کاربر(GUI) فراهم می کرد، ارایه کرد. در حال حاضر JDK در نگارش ۵.۰ وبا ویژگی های جدیدی در دسترس است. و با نام J۲SE) Java ۲ Standard Edition) نیز شناخته می شود. در کنار آن J۲EE Java ۲ Enterprise Edition (که درحال حاضر در نگارش ۱.۴ است) برای کاربردهای تجاری ارایه شد. J۲EE تکنولوژی هایی از قبیل Enterprise JavaBeans EJB), Servlets, JavaServer Pages) و … را در بر می گیرد.
Java زبانی برای برنامه های توزیع شده است و زبانی شناخته شده در سطح جهانی است که به کاربر امکان تعامل (interaction) با یک صفحه وب را می دهد و برخلاف صفحات ایستای HTML فراتر از خواندن ویا فقط پر کردن یک فرم، برای کاربر امکان بازی، چت، انجام محاسبات درصفحات گسترده، و حتی دریافت اخباری که به صورت همزمان به روز رسانی می شوند و خیلی چیزهای دیگر را فراهم می کند. Java همچنین مستقل از سیستم عامل است. به این معنی که شما یک برنامه را یکبار می نویسید و این برنامه بر روی هر سیستم عاملی که ماشین مجازی جاوا (Java Virtual Machine) یا به اختصار JVM بر روی آن نصب باشد به همان شکل و بدون نیاز به هیچگونه تغییری قابل اجرا خواهد بود. Java زبانی ساده، کاملا شی گرا، با امنیت بالا و دارای امکانات چندبندی (Multi-threading) است. از نگارش ۱.۲ به بعد ابزارهای Swing، جاوا را به زبانی آسان و جذاب برای ایجاد یک GUI کاربر پسند تبدیل کرده اند.
از نقطه نظر دیگر می توان گفت: که جاوا یک زبان مستقل از سیستم عامل نیست بلکه همانند یک سیستم عامل مستقل و کوچک عمل می کند. همان طور که درWindows زبان های برنامه نویسی امکان اجرا در بستر (Platform) مربوط به Windows/Intel را دارند، برنامه های جاوا امکان اجرا در Java/JVM را دارند. و همانند Windows، جاوا هم یک بستر نرم افزاری، تجاری و منحصر به یک شرکت است.