جیمز گوسلینگ پروژه زبان جاوا را در سال ۱۹۹۱ جهت انجام یکی از پروژه های خود استارت زد و در سال ۱۹۹۵ توسط شرکت Sun Microsystem اولین نسخه آن انتشار یافت. زبان جاوا یک زبان سطح بالا است که بر روی انواع سیستم عامل ها مانند ویندوز ، مکینتاش و نسخه های مختلف یونیکس قابل اجراست که همین امر یکی از دلایل محبوبیت این زبان قوی و انعطاف پذیر است. اولین نسخه از جاوا Java 1.0 (J2SE) و اخرین نسخه استاندارد جاوا Java SE 8 است . تنظیمات مختلفی با توجه به انواع سیستم عامل ها روی نسخه های جاوا ایجاد شد به عنوان مثال نسخه J2EE برای نرم افزارهای شرکتی و نسخه J2MEE برای برنامه های کاربردی موبایل قابل استفاده است. در حال حاضر نسخه های جدید جاوا به نام های SE , EE ,ME تغییر نام پیدا کردند.
از شعارهای معروف سازندگان جاوا این است : یکبار بنویس و همه جا اجرا کن
ویژگی های زبان جاوا
شی گرایی : در جاوا هر چیزی می تواند یک شی باشد و جاوا به خوبی می تواند مدل های اشیاء را گسترش دهد.
بستر نرم افزاری مستقل : بر خلاف دیگر زبان های ماندد C و ++C که پس از کامپایل فقط قابل اجرا بر روی همان پلتفرم خاص را دارند ، جاوا بدلیل اینکه مبتنی بر نرم افزار است(خودش محیطی جهت اجرای کدهایش دارد) این محدودیت را نداشته و قابل اجرا بر روی همه پلتفرم هاست.
سادگی : جاوا طوری طراحی شده که به سادگی میتوان آن را یاد گرفت و با مفهوم شی گرایی آن آشنا شد.
امنیت : امنیت جاوا با توسعه سیستم های بهره برداری رایگان و تکنیک های احراز هویت براساس رمزنگاری کلیدهای عمومی
معماری خنثی : کامپایلر جاوا فرمت فایل و کد کامپایل شده اجرایی را براساس یک معماری خنثی تولید می کند که می تواند بر روی بسیاری از پردازنده ها همراه با سیستم جاوا اجرا گردد.
قابل حمل : برنامه ها و کدهای جاوا را می توان بر روی هر پلتفرمی اجرا کرد.
مقاوم بودن :جاوا تلاش های زیادی را برای از بین بردن خطاها و اخطارها در زمان کامپایل و زمان اجرا انجام می دهد.
قابلیت چندنخی : توسط این قابلیت برنامه نویسان می توانند برنامه هایی بنویسند که چند وظیفه و کار را بطور همزمان در برنامه و پروژه خود اجرا کنند.
مفسر : کدها به صورت خط به خط اجرا می گردند
عملکرد بالا : مفسر جاوا سریعتر از یک مفسر سنتی عمل می کند و بایت کدها جاوا در زمان کامپایل اجرا می گردند.
توزیع شده : جاوا می تواند برنامه هایی برای محیط توزیع اینترنت طراحی کند.
پویا بودن : زبان جاوا جهت انطباق با محیط در حال تحول پویاتر از زبان C و ++C طراحی شده است. برنامه های جاوا مقدار گسترده ای از اطلاعات را در زمان اجرا به منظور دسترسی به اشیاء استفاده می کنند.