لطفا جاواسکریپت مرورگر خود را فعال سازید!

نحوه فعال سازی در کروم
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
نحوه فعال سازی در فایرفاکس
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو

آموزش جاوا

مولف دوره:
این دوره توسط بهزاد مرادی تالیف شده است.

سطح دوره:
سطح این دوره مقدماتی است.

پیش‌نیازها:
پیش نیاز دوره ی آموزش زبان جاوا، دوره ی آموزش اصول برنامه نویسی می باشد.

مدت زمان دوره:
۶۰ قسمت

همین الان شروع کن

معرفی زبان برنامه‌نویسی Java
پیش از هرچیز توجه داشته باشیم که زبان Java را با زبان JavaScript اشتباه نگیریم؛ به‌طور کلی، زبان برنامه‌نویسی Java یک زبان چندمنظوره و شیٔ‌گرا است. زبان برنامه‌نویسی جاوا شبیه به زبان سی‌پلاس‌پلاس است اما شیٔ‌گرایی در آن ساده‌تر شده است و از قابلیت‌های سطح پایین کمتری پشتیبانی می‌کند.

یکی از قابلیت‌های زبان برنامه‌نویسی Java این است که مدیریت حافظه را به‌صورت خودکار انجام می‌دهد؛ علاوه‌بر این، شعار جالبی که دولوپرهای جاوا دارند این است که «یک بار بنویس و همه‌جا اجراش کن». زبان برنامه‌نویسی جاوا به‌عنوان یکی از زبان‌های اصلی توسعهٔ اپلیکیشن برای سیستم‌عامل محبوب و اپن‌سورس اندروید محسوب می‌گردد لذا اگر تمایل دارید وارد باز کار طراحی اپ اندروید شوید، نیاز است تا زبان Java را فرا بگیرید.

معرفی دورهٔ آموزش زبان برنامه‌نویسی Java
دورهٔ آموزش زبان برنامه‌نویسی Java که پیش از این در سایت نردبان منتشر می‌شد، دربرگیرنده مفاهیم پایه‌ای و اساسی این زبان برنامه‌نویسی است که از تاریخچهٔ این زبان شروع شده و تا مفاهیم نسبتاً پیچیده این زبان برنامه‌نویسی همچون Threadها، Concurrency و … ادامه می‌یابد. یکی از مزایای دورهٔ آموزش زبان Java در سکان که به‌صورت کاملاً رایگان در اختیار کاربران و علاقمندان به این زبان برنامه‌نویسی قدرتمند قرار می‌گیرد این است که این دوره پروژه‌‌محور بوده و مؤلف دوره تمام تلاش خود را به‌کار بسته تا فرض را بر این بگذارد که دانشجویان این دورهٔ آموزشی هیچ‌گونه پیش‌زمینه‌ای در حوزهٔ کدنویسی ندارند.

خالق زبان‌برنامه‌نویسی Java
زبان برنامه نویسی جاوا توسط جیمز گاسلینگ در شرکت سان مایکروسیستمز که بعدها توسط شرکت بزرگ اوراکل خریداری شد طراحی گردید و در سال ۱۹۹۵ اولین نسخهٔ آن منتشر شد؛ آقای گاسلینگ که نام واقعی وی James Arthur Gosling است در ۱۹ ماه می سال ۱۹۵۵ در کشور کانادا به دنیا آمد و درحال‌حاضر به‌عنوان یکی از دانشمندان به‌نام علوم کامپیوتری دنیا محسوب می‌گردد و در مجامع برنامه‌نویسی دنیا از وی به‌عنوان «پدر زبان برنامه‌نویسی جاوا» یاد می‌شود. وی همچنین در سال ۱۹۷۷ از دانشگاه Calgary در رشته علوم کامیپوتری فارغ‌التحصیل شد و در سال ۱۹۸۳ هم مدرک Ph.D خود را در همین رشته از دانشگاه Carnegie Mellon دریافت کرد.

جاوا یک زبان برنامه نویسی شیء گرا است که توسط آقای جیمز گوسلینگ و همکارانش در شرکت سان مایکروسیستمز – که بعدها توسط شرکت بزرگ اوراکل خریداری شد- در اوایل دهه 1990 طراحی شد و به مرور توسعه یافت. جالب است بدانیم که امروزه بیش از 9 میلیون توسعه دهنده ی جاوا در حوزه آی تی فعالیت می کنند و جاوا در بیش از 3 میلیارد سیستم مختلف -از کامپیوتر گرفته تا ابزارهای هوشمند مثل موبایل- مورد استفاده قرار می گیرد.

تاریخچه ی زبان برنامه نویسی جاوا
نام پروژه ای که بعدها به عنوان جاوا شناخته شد در ابتدا Oak به معنای بلوط بود که این نام توسط جیمز گوسلینگ -توسعه دهنده ی اصلی زبان برنامه نویسی جاوا- هنگامی که از پنجره اتاق اش درخت بلوطی را نگاه می کرد انتخاب شد، اما مدتی بعد مدیران شرکت سان تصمیم گرفتند نامی بهتر را برای محصول منحصر به فرد خود انتخاب نماید، بنابراین جلسه ای برای اعضای تیم در یک کافی شاپ برگزار شد تا نامی جدید پروژه را انتخاب نمایند و پس از ساعت ها بحث و جدل، JAVA حروف اول نام افراد حاضر که عبارت بودند از: James Gosling، Arthur Van hoff و Andy Bechtolsheim به عنوان نام این زبان برنامه نویسی جدید انتخاب شد و از آنجا که این جلسه در یک کافی شاپ برگزار شده بود، نماد جاوا را یک فنجان قهوه ی داغ انتخاب کردند.

هدف آقای گوسلینگ که این پروژه را در ماه ژوئن سال 1991 آغاز کرد، پیاده سازی یک ماشین مجازی و زبانی بود که شبیه زبان C باشد اما در عین حال یکنواختی و سادگی بیشتری نسبت به زبان های C و ++C داشته باشد. اولین پیاده سازی عمومی جاوا -نسخه ی 1.0- در سال 1995 صورت پذیرفت. این نسخه از جاوا شعار "یکبار بنویسید، همه جا اجرا کنید" را بر روی پلتفرم ها یا بهتر بگوییم سیستم عامل های معروف عملی ساخت. چیزی نگذشت که مرورگرهای وب  آن را در پیکربندی استاندارد خود به صورت "اپلت" امن گنجاندند و جاوا به سرعت معروف شد و با ظهور Java 2، نسخه های جدیدی برای پلتفرم های کوچک و بزرگ (نسخه های J2EE و J2ME) نیز طراحی گردید.

در سال 1997، شرکت سان در صدد بر آمد تا جاوا را طبق استانداردهای ISO/IEC JTC1 (استانداردی برای فناوری اطلاعات در کمیته مشترک سازمان بین المللی استانداردسازی و کمیسیون بین المللی الکتروتکنیک) و استانداردهای بین المللی Ecma به رسمیت درآورد، ولی خیلی زود از این جنبش کناره گیری کرد تا جاوا به صورت یک استاندارد غیر رسمی اختصاصی باقی مانده و از طریق جامعه توسعه دهندگان جاوا (Java Community Process یا JCP) توسعه یابد. در پاسخ به این سؤال که درآمدزایی شرکت سان از طریق زبان جاوا به چه صورت است، بایستی گفت که این شرکت بسیاری از ایمپلنت های جاوا را بدون هزینه ای در دسترس توسعه دهندگان قرار داده است اما درآمد این شرکت از طریق فروش محصولاتی تخصصی مانند Java Enterprise System است.

اهداف طراحی و توسعه ی زبان برنامه نویسی جاوا
پنج هدف اصلی در زمان ایجاد زبان جاوا مد نظر آقای گوسلینگ و سایر توسعه دهندگان شرکت سان مایکروسیستمز بوده که در ادامه به تفصیل تک تک آن ها را مورد بررسی قرار می دهیم:

1- استفاده از سبک برنامه نویسی OOP یا شیء گرا: به طور کلی، برنامه نویسی شیء گرا به روشی از برنامه نویسی و طراحی زبان اشاره دارد که در آن انواع مختلف داده ها با یکدیگر و با عملیاتی که قرار است بر روی آن داده ها تغییراتی ایجاد کنند ترکیب شده و چیزی به نام Object یا شیء ایجاد می کنند. هدف شیء گرایی مدیریت ساده تر پروژه های بزرگ و در نتیجه افزایش کیفیت و کاهش پروژه های شکست خورده است. هر تغییر در ساختار داده ها نیازمند تغییر در سورس کد است و بالعکس و این در حالی است که برنامه نویسی شیء گرا چالش های این فرایند را به حداقل رسانده است. به عبارت دیگر، هدف از استفاده از سبک شیء گرایی در برنامه نویسی، توسعه ی اشیاء عمومی تر برای استفاده مجدد در پروژه های مختلف است که زبان برنامه نویسی جاوا به خوبی از عهده ی این کار بر آمده است.

2- اجرای برنامه ای واحد بر روی چندین سیستم عامل: برنامه ی نوشته شده به زبان جاوا، وابسته به معماری خاصی نبوده و می توان آن را بر روی سیستم عامل های مختلفی همچون مکینتاش، لینوکس، ویندوز، سولاریس و ...  انتقال داده و اجرا کرد.

3- پشتیبانی داخلی برای استفاده از شبکه های کامپیوتری: این زبان قابلیت هایی برای برقراری ارتباط شبکه ای سطح پایین (سوکت) برای انتقال بایت ها و کاراکترها دارا است. علاوه بر این، توسعه دهندگان جاوا قابلیت های شبکه ای سطح بالا برای کنترل از راه دور اشیاء (در سیستم های توزیع شده) و ارتباطات پایگاه داده ای را در ذهن می پرورانده اند.

4- اجرای امن کد از منابع راه دور: معماری ماشین مجازی، کنترل بسیار خوبی بر فرایندهای صورت گرفته روی سورس کد داخل ماشین مجازی دارا است. این طراحی، اجرای امن کدهای غیر قابل اطمینان که از منابع دیگر دریافت شده اند را نیز میسر می سازد. نمونه ای از آن، اپلت ها هستند که در ماشین مجازی موجود در مرورگر وب اجرا می شوند و کد دانلود شده از پروتکل HTTP را اجرا می کنند. کد راه دور در یک فضای ایمین اجرا می شود تا کاربر را از کدهای مخرب محافظت نماید.

5- استفاده آسان از این زبان توسط توسعه دهندگان: با انتخاب بخش های خوب از دیگر زبان های برنامه نوسی شیء گرا، زبان جاوا به یک زبان همه فن حریف مبدل شده است که این هدف از طریق IDE ها که جست و جو، ریفکتورینگ و خواندن کدها را در جاوا آسان ساخته اند، میسر شده است.

مزایای زبان برنامه نویسی جاوا
زبان برنامه نویسی جاوا در مقایسه با بسیاری از زبان های شیء گرا، دارای یکسری نقاط قوت است که این زبان را به انتخاب اول بسیاری از توسعه دهندگان حرفه ای دنیا مبدل می سازد که در ادامه با برخی از آن ها آشنا خواهیم شد:

1- قابلیت حمل: زبان برنامه نویسی جاوا مستقل از پلتفرم است و بر روی هر کامپیوتر و هر سیستم عاملی (ویندوز، سولاریس، لینوکس، مکینتاش و ...) اجرا می شود. علاوه بر این، وب اپلیکیشن های نوشته شده با زبان جاوا را می توان از طریق شبکه جهانی وب نیز در اختیار End User ها قرار داد (برای مثال اپلت ها).

2- انعطاف پذیری: درست است که همه چیز را نمی توان با جاوا نوشت ولی تقریبا همه چیز را می شود با جاوا ساخت! و همین مسأله منجر شده تا جاوا به عنوان محبوب‌ترین زبان برنامه نویسی دنیا در میان توسعه دهندگان و برنامه نویسان شناخته شود.

3- سادگی: نوشتن و خواندن جاوا آسان است چرا که مجموعه ای منسجم و مختصر از ویژگی هایی را دارا است که یادگیری و استفاده از آن را آسان کرده است. بسیاری از مفاهیم آن از زبان سی پلاس پلاس گرفته شده اند که این امر نیز باعث می شود یادگیری آن ساده باشد به‌ خصوص برای کسانی که پیشینه ی کار با زبان سی پلاس پلاس را داشته باشند.

4- امنیت: جاوا دارای مکانیزم های جامع امنیتی است که سطح دسترسی به فایل ها و بخش های مختلف شبکه را تنظیم می کند و همین مسئله منجر به بالا رفتن اپلیکیشن های نوشته شده با این زبان برنامه نویسی می گردد.

5- استحکام: توسعه دهندگان جاوا تمام شرایط متغیر و غیر قابل پیش بینی را در نظر گرفته و این زبان را به گونه ای طراحی کرده اند که در شرایطی این چنین، رفتار مناسبی از خود نشان می دهد. به عبارت دیگر، وقتی اپلیکیشنی که با زبان جاوا نوشته شده است در حال اجرا است، هیچ عامل خارجی نمی تواند بر آن اثر گذاشته و باعث ایجاد اختلال در آن شده و در روند اجرای برنامه مشکلی وارد سازد که این ویژگی جاوا، منجر به این خواهد گشت تا برنامه‌های نوشته شده با جاوا کاملاً مستحکم باشند.

6- چند نخی: جاوا پشتیبانی یکپارچه ای برای برنامه نویسی چند نخی یا Multithreading فراهم می کند. چند نخی تقسیم یک برنامه به چندین بخش است که در سیستم های چند پردازنده ای هر کدام از این بخش ها توسط یک پردازنده و به صورت همزمان اجرا می شود که این امر باعث اجرای زودتر کل برنامه و استفاده بهینه از منابع سیستم می شود.

7- توزیعی: جاوا می تواند با محیط های توزیعی تعامل داشته و می توان آن را از طریق اینترنت اجرا یا منتقل کرد. به طور کلی منظور از محیط های توزیعی محیط هایی است که به منظور کاهش تاثیر خرابی سخت افزار، پردازش داده ها توزیع شده است و همین مسئله نیاز به دانستن مکان فیزیکی اصلی داده را از بین می برد که در نهایت منجر به پایداری بیشتر اپلیکیشن می گردد.

8-پویایی: زبان جاوا یک زبان پویا است به این معنی که به سادگی قابل توسعه بوده و برنامه نویسان بسته به نیاز خود می توانند تعامل سازنده ای مابین این زبان و سایر زبان های برنامه نویسی دیگر برقرار سازند.

9- شیء گرایی: جاوا یک زبان برنامه نویسی کاملاً شیء گرا است که تمامی مفاهیم شیء گرایی را دارا است. برنامه نویسی شیء گرا یک الگوی برنامه نویسی بر اساس مفهوم "اشیاء" است. اشیاء ساختارهای داده ای هستند که شامل برخی خصوصیات و رفتارها هستند. اشیاء می توانند توسط پیام ها با یکدیگر ارتباط برقرار کنند و باعث اتفاقاتی در شیء گیرنده شوند. بسیاری از زبان های برنامه نویسی شیء گرا مبتنی بر کلاس ها هستند. هر کلاس، مجموعه ای از اشیاء شبیه به هم را تشریح می کند و تمامی اشیاء داخل این کلاس، دارای خصوصیات و رفتارهای مختص به آن کلاس هستند. از جمله مزایای شیء گرایی می توان استفاده ی مجدد، نگهداری آسان (مجزا بودن ساختار برنامه و کم بودن تاثیرات جانبی به هنگام تغییرات یک بخش) و قابلیت وفق دهی و گسترش آسان آن اشاره کرد.

10- مناسب برای میان افزارهای مبتنی بر پیام: زبان برنامه نویسی جاوا انتخاب خوبی برای میان افزارهای مبتنی بر پیام (Message-oriented middleware-MOM) مانند JSM، IBM MQ، TIBCO و ... است. به طور کلی منظور از MOM، ساختارهای سخت افزاری یا نرم افزاری هستند که از ارسال و دریافت پیام ها بین سیستم های توزیع شده پشتیبانی می کنند.

11- مدیریت حافظه: جاوا بi صورت خودکار توسط Garbage collector حافظه ی سیستم را مدیریت می‌کند تا منابع اشغال شده توسط نرم‌افزار آزاد گشته و سیستم با کمبود منابع رو به رو نگردد که این ویژگی جاوا واقعاً در مقایسه با سایر زبان‌های برنامه نویسی منحصر به فرد است.

معایب زبان برنامه نویسی جاوا
هر زبان برنامه نویسی -هر چند هم که محبوب باشد- علاوه بر نقاط قوتی که دارا است، از یکسری کمبودها و نقاط ضعف هم برخوردار می باشد که برنامه نویسان به هنگام انتخاب یک زبان برنامه نویسی برای یادگیری، حتما می بایست با آن ها آشنا باشند. در ادامه،‌ قصد داریم برخی از معایب زبان برنامه نویسی جاوا را مورد نقد و بررسی قرار دهیم:

1- برنامه‌های نوشته شده با زبان جاوا از آنجایی که ابتدا باید در ماشین مجازی جاوا -JVM- کامپایل شوند، زمان اجرای زیادتری نسبت به برنامه‌هایی دارند که با زبان برنامه نویسی سی نوشته می شوند.

2- زبان جاوا نسبت به زبان‌های برنامه نویسی دیگر، حافظه بیشتری از سیستم را مصرف می کند.

3- مایکروسافت درصدد است تا توسعه دهندگان جاوا این پلتفرم را رها کنند. به همین خاطر احتمالا سازگاری اپلیکیشن های جاوا با اپلیکیشن های نوشته شده با NET. سخت تر از اپلیکیشن هایی باشد که به زبان سی شارپ یا ویژوال بیسیک نوشته شده اند.

4- زبان جاوا اصطلاحا Verbose است به این معنی که از سینتکس ها و سمبل های زیادی استفاده می کند. برای مثال برنامه ی زیر در جاوا حاصل جمع کلیدهای یک آرایه را محاسبه می کند:


int sum = 0;
for ( int i = 0 ; i < nums.length ; i++ ) {
    int var = nums[i];
    sum += var;
}

در حالی که همین کد در زبان پایتون به صورت زیر نوشته می شود:


sum = 0
for var in nums :
    sum += var

نسخه های مختلف زبان برنامه نویسی جاوا

JDK Alpha & Beta, 1995: در سال 1995، نسخه ی عمومی آلفا و بتای جاوا عرضه شد که در این نسخه رابط برنامه نویسی اپلیکیشن (API) و رابط دودویی اپلیکیشن (ABI) زبان جاوا دارای ناپایداری های بسیاری بود.

JDK 1.0, January 23, 1996: این نسخه در اصل Oak به معنی بلوط نامیده شد. انتشار اولیه اولین نسخه پایدار -یعنی Java 1- عنوان JDK 1.0.2 را گرفته بود.

JDK 1.1, February 19, 1997: ویژگی هایی مانند Inner Classes (کلاس های داخلی)، JavaBeans (کپسوله کردن اشیاء در یک شیء واحد) و JIT (کامپایل در زمان اجرا) به این نسخه از جاوا اضافه شد.

J2SE 1.2, December 8,1998: کد این نسخه Playground (زمین بازی) است. این نسخه و نسخه های بعدی تا J2SE 5.0 با نام Java2 شناخته می شوند. نام نسخه ی (J2SE" (Java 2 Platform, Standard Edition"، جایگزین JDK شد تا پلتفرم پایه از (J2EE (Java 2 Platform, Enterprise Edition و (J2ME (Java 2 Platform, Micro Edition تشخیص داده شود. این نسخه ی قابل توجهی از جاوا بود چرا که سایز API جاوا را سه برابر کرده و تا 1520 کلاس و 59 پکیج افزایش داد. ویژگی هایی مانند کلیدواژه ی strictfp، مجهز شدن JVM شرکت سان با کامپایلر JIT برای اولین بار، پلاگین جاوا، Java IDL (پیاده سازی IDL برای ایجاد قابلیت همکاری CORBA) وJava Collections Framework در این نسخه از جاوا اضافه شدند.

J2SE 1.3, May 8, 2000: نام کد این نسخه Kestrel (نوعی پرنده ی باز کوچک) است. تغییرات مهم این نسخه عبارتند از: افزودن Hotspot JVM، اصلاح RMI (فراخوانی از راه دور متد) برای پشتیبانی از سازگاری اختیاری با CORBA، قرار گیری (Java Name and Directory Interface (JNDI در کتابخانه اصلی جاوا (که قبلا به صورت یک اکستنشن بود)، Java Platform Debugger Architecture (JPDA)، JavaSound و کلاس های پروکسی سینتتیک.

J2SE 1.4, February 6, 2002: نام کد این نسخه Merlin (نوعی باز کوچک) است. برخی از تغییرات این نسخه عبارتند از: افزوده شدن کلید واژه ی assert، پشتیبانی از IPv6، ورودی/خروجی بدون بلوکه شدن، API ورود به سیستم، API تصاویر ورودی و خروجی برای خواندن و نوشتن تصاویر در فرمت های JPEG و PNG، تجزیه کننده یکپارچه XML و پردازنده ی (XSLT (JAXP، اکستنشن های رمزنگاری و امنیت یکپارچه، و API تنظیمات (java.util.prefs).

J2SE 5.0, September 30, 2004: نام کد این نسخه Tiger (ببر) است. برخی از ویژگی های اضافه شده در این نسخه عبارتند از: متادیتا که حاشیه نویسی نیز نامیده می شود و این امکان را به وجود می آورد که ساختارهایی مانند کلاس و متد با داده های اضافی تگ شوند، Autoboxing/unboxing که تبدیل اتوماتیک بین Primitive Types (مانند int) و Primitive Wrapper Classes (مانند Integer) است، ورودی های استاتیک، تولید اتوماتیک stub برای اشیاء RMI، کلاس Scanner برای تجزیه داده از جریان ورودی و بافرهای مختلف، بهبود زمان کامپایل. Java 5 آخرین نسخه جاوا بود که از ویندوز 95، ویندوز 98 و ویندوز ME پشتیبانی می کرد و ویندوز ویستا جدیدترین نسخه ی ویندوزی بود که از J2SE 5 پشتیبانی می کرد، قبل از این که Java 5 در اکتبر 2009 به پایان عمر خود برسد. 5 آپدیت (Java5 (1.5.0-05 آخرین نسخه های جاوا بودند که در ویندوز NT 4.0 بدون هیچ مشکلی کار می کردند. Java5 نسخه تعریف شده جاوا برای (Mac OS X 10.5 (Leopardاست. Java6 را می توان به عنوان نسخه تعریف شده برای ماشین های پردازشگر 64 بیتی نصب و تنظیم کرد. همچنین Java6 توسط ماشین های 32 بیتی که Mac OS X 10.6 بر روی آنها اجرا و پشتیبانی می شود.

Java SE 6, December 11,2006: نام کد این نسخه Mustang (اسب وحشی) است. از این نسخه به بعد شرکت سان نام J2SE را با JAVA SE جایگزین کرد و 0. را از شماره نسخه ها حذف کرد. تغییرات عمده این نسخه عبارتند از: پشتیبانی از Scripting Language، پشتیبانی بهبود یافته از وب سرویس ها از طریق JAX-WS، پشتیبانی از API، کامپایلر JDBC 4.0 جاوا که به برنامه های جاوا اجازه می دهد تا به صورت برنامه ریزی شده یک کامپایلر جاوا را انتخاب و فراخوانی کنند، به روز رسانی JAXB نسخه 2.0، اصلاحات بسیار در رابط گرافیکی کاربر، اصلاح JVM شامل سینکروناسیون و بهبود عملکرد کامپایلر و عملکرد راه اندازی اپلیکیشن.

Java SE7, July 28,2011: نام کد این نسخه Dolphin (دلفین) است. این نسخه یک آپدیت اصلی است که در 7 جولای سال 2011 آغاز شد و در 28 جولای سال 2011 در دسترس توسعه دهندگان قرار گرفت و توسعه ی این نسخه در سیزده مرحله انجام شد. برخی از ویژگی های اضافه شده عبارتند از: پشتیبانی JVM برای Dynamic Languages، تغییرات کوچکی در زبان (مانند استفاده از کلاس String در سوئیچ)، کتابخانه جدید ورودی/خروجی فایل که از سیستم های چندگانه و متادیتای فایل و لینک های سمبلیک پشتیبانی می کند، استفاده از Timsort به جای Merge Sort برای مرتب کردن مجموعه ها و آرایه های اشیاء، پشتیبانی کتابخانه ای برای الگوریتم های Elliptic Curve Cryptography و API پلتفرم جدید برای ویژگی های گرافیکی (جاوا 7 تا آوریل سال 2012، زمانی که جاوا 8 انتشار یافت، در سایت java.com نسخه تعریف شده برای دانلود بود.)

Java SE 8, March 18,2014: جاوا 8 شامل ویژگی هایی است که برای جاوا 7 در نظر گرفته شده بود ولی محقق نشد. برخی از این ویژگی ها عبارتند از: API زمان و تاریخ، پیوند استاتیک کتابخانه های JNI، راه اندازی اپلیکیشن های JavaFX. جاوا 8 در ویندوز XP پشتیبانی نمی شود ولی به عنوان JDK 8 آپدیت 25 می توان آن را تحت ویندوز XP نصب و اجرا کرد (از اکتبر سال 2014 جاوا 8 نسخه تعریف شده برای دانلود از سایت رسمی جاوا است.)

Java SE 9: شرکت اوراکل در نظر دارد تا جاوای نسخه ی 9 را در 22 سپتامبر 2016 منتشر کند. این نسخه در بردارنده پشتیبانی بهتر برای پشته های چند گیگابایتی -پشته ها ساختارهای داده ای هستند که عملیات اضافه و حذف کردن از یک طرف آن انجام می گیرد-، یکپارچگی بهتر کدها، و Self-tuning JVM است. ویژگی هایی مانند API پول و ارز نیز در این نسخه اضافه خواهند شد.

Java SE 10: این نسخه از مجموعه داده های بزرگ (Big Data) پشتیبانی خواهد کرد و حدودا در سال 2018 منتشر خواهد شد.

محیط ها توسعه جاوا
محیط های توسعه یکپارچه یا IDE ها، مزیت های زیادی برای برنامه نویسان فراهم آورده اند. IDE اختصاصی جاوا نرم افزاری است که به برنامه نویسان این امکان را می دهد تا برنامه های جاوا را ساده تر و سریع تر نوشته و دیباگ کنند و از این طریق اپلیکیشن های موبایل، شرکتی، وب و ... در کمترین زمان ممکن ایجاد کنند. محیط های توسعه ی یکپارچه ی بسیاری را می توان یافت که هر کدام ویژگی های منحصر به فرد خود را دارا هستند اما ما در ادامه فهرست جامعی از محبوب ترین IDE های جاوا را معرفی می نماییم:

Eclipse: یکی از پر طرفدارترین IDE ها برای زبان برنامه نویسی جاوا است. یکی از جالب ترین ویژگی های Eclipse ساخت اتوماتیک کد است و از آنجایی که توسعه دهندگان مجبور به مراجعه به اسناد API نیستند، باعث سرعت بخشیدن به فرایند کدنویسی می شود. ویژگی های دیگر این IDE عبارتند از: دیباگر Built-in، چک کردن خطا، تولید سورس کد، ریفکتورینگ کد (فرآیند تغییر ساختار کد بدون تغییر در رفتار بیرونی، به طوری که کد بهتر، خواناتر و قابل نگهداری تری ایجاد شود.) Eclipse همانند NetBeans یک IDE اوپن سورس و رایگان است و کاربران می توانند پلاگین هایی برای بهبود عملکرد Eclipse در جهت رفع نیازهای خود بسازند. لازم به ذکر است که پلتفرم های IBM Rational Development و IBM WSAD در نرم افزار Eclipse ایجاد شده اند.

NetBeans: یک IDE برای برنامه نویسان PHP، Java، HTML5 و ++C/C است که در سیستم عامل های Linux، Windows، Solaris و OS X استفاده می شود. اپلیکیشن هایی که در NetBeans ساخته می شوند دارای ماژول های ساخت یافته ای هستند و می توانند توسط هر توسعه دهنده مستقلی اصلاح شوند. این نرم افزار همانند Eclipse یک پروژه اوپن سورس است که به توسعه دهندگان امکان کمک به توسعه آن داده می شود و استفاده از آن رایگان است.

IntelliJ: یک IDE تجاری است و پشتیبانی J2EE و رابط گرافیکی کاربر عالی دارد. IntelliJ به واسطه ی پلاگین های خود قابل ارتقاء می باشد. این برنامه یک ترکیب بسیار عالی از ابزارهای توسعه ی قدرتمند شامل: Ant، refactoring، CVS integration، J2EE support و JUnit است. IntelliJ با استفاده از کدنویسی هوشمند، ویرایشگر جاوا و ابزارهای پیشرفته برای اتوماسیون کد، برنامه نویسان را قادر می سازد تا بهره وری خود را تقویت کرده و در عین حال تسک هایی که باعث هدر دادن زمان می شوند را کاهش دهند.

jEdit:  یک IDE رایگان و کم حجم برای برنامه نویسان، توسعه دهندگان و تحلیل گران جاوا است و برنامه نویسان جاوا را قادر می سازد تا اپلیکیشن های مفید و سودمندی در جاوا بسازند. مهمترین خصوصیات این نرم افزار هایلایت کردن سینتکس ها، جاسازی اشیاء، رنگ آمیزی سینتکس های قابل ویرایش، عبارات ریگولار (ابزاری برای برنامه نویسان برای پیدا کردن کلمه ها و عبارات مورد نظر در یک رشته متنی)، رمزگذاری متن، علامت گذاری اتوماتیک و ... است.

BlueJ: یک IDE رایگان است که مخصوص مبتدیان جاوا آماده شده است و از آنجایی که طراحی آن در مقایسه با IDE های دیگر کمی متفاوت است، از این IDE معمولا برای آموزش استفاده می شود. رابط ساده ی این نرم افزار باعث شده است که یک IDE کاربر پسند برای شروع کنندگان جاوا باشد.

JCreator: یک IDE ساده و کم حجم برای جاوا است که انتخاب بسیار خوبی برای مبتدیان در زمینه توسعه جاوا است. این IDE فقط بر روی سیستم عامل ویندوز اجرا می شود و نصب آن خیلی آسان است و خیلی سریع شروع به کار می کند.

Java Inventor: اخیرا نام Java Inventor به SnapCode تغییر یافته است. SnapCode یک IDE رایگان برای جاوا است که امکان ساخت اپلیکیشن های جاوا می دهد. با کمک این نرم افزار رایگان می توانید اپلیکیشن ها را به سرعت بسازید و کدنویسی جاوا را یاد بگیرید. رابط Drag & Drop (کشیدن و رها کردن) این IDE کمک می کند تا کدنویسی رابط کاربری، مدیریت، دستکاری و وارد کردن داده را به سادگی انجام دهید. همچنین با استفاده از SnapCode می توان اپلیکیشن هایی به سبک مرورگر ساخت.

Dr.Java:  یک IDE رایگان برای دانش آموزان، توسعه دهندگان و برنامه نویسان جاوا است و می توان اپلیکیشن های جاوا را خیلی راحت در Dr.Java نوشت. خصیصه های اصلی این نرم افزار Source Level Debugger است که خط یا عبارتی در سورس کد که منجر به یک دستور کد ماشین از یک برنامه ی در حال اجرا در حافظه شده است را نشان می دهد و به برنامه نویس کمک می کند تا به جای دستورات ماشین و مکان حافظه، رفتار برنامه را در شرایط سطح بالا مانند ساختارهای کنترلی جریان سطح منبع، فراخوانی پروسیجر و ... تحلیل کند. ابزار تست واحدها، پنل تعاملی برای ارزیابی متن، ویرایشگر هوشمند برنامه و ...  به عنوان دیگر ویژگی های این IDE است.

jBuilder: یک ابزار توسعه بسیار خوب برای ساختن اپلیکیشن های کاربردی جاوا است. این IDE با ارائه کدهای جدید و کدهای موجود، و همچنین با افزایش کیفیت و عملکرد کدنویسی، بهره وری را بهبود می بخشد. jBuilder برنامه منبع بسته است و کد منبع آن قابل تغییر یا توزیع نیست.

jGRASP: یک IDE مفید برای توسعه دهندگان و برنامه نویسان جاوا است و از Python، Objective-C، Ada C، C++، VHDL و CSD برای جاوا پشتیبانی می کند. این IDE یک اپلیکیشن بسیار کم حجم است. خصیصه های اصلی jGRASP، درخت های باینری (نوعی ساختمان داده درختی که در آن هر گره حداکثر دو گره فرزند دارد)، جدول های hash (تابع hash تابعی است که کلیدی را گرفته، پردازش یا محاسباتی روی آن انجام داده و آدرس معادل آن را بر می گرداند)، صف (لیست مرتبی است که عمل اضافه کردن (نوشتن) از یک طرف آن به نام انتهای صف و عمل خواندن (حذف کردن) از طرف دیگر آن به نام ابتدای صف انجام می شود.)، لیست های پیوندی (ساختمان داده ای که عناصر آن الزاماً در کنار یکدیگر نمی باشند و عنصر بعدی هر عنصر از طریق یک اشاره گر معلوم می شود) و پشته ها (لیست مرتبی که عملیات اضافه و حذف کردن از یک طرف آن انجام می گیرد) است.

جاوا و دیگر زبان های برنامه نویسی
جاوا بسیاری از مفاهیم خود را از زبان های C و ++C به ارث برده است ولی از هر دوی این زبان ها سطح بالاتر است. بسیاری از سینتکس های زبان جاوا شبیه زبان های برنامه نویسی فوق الذکر است ولی مدل های شیء ساده تر و امکانات سطح پایین کمتری دارد. واقعیت این است که با نگاه اول در جاوا، خواهید دید که سینتکس های مقدماتی شبیه به زبان های C یا ++C است، ولی شباهت آن ها در همین حد است و برخی معتقدند که جاوا به هیچ وجه از نسل C یا ++C نیست.

با مقایسه ی ویژگی های زبان جاوا، این نتیجه حاصل می شود که جاوا با زبان های بسیار داینامیک مانند Smalltalk و Liso اشتراکات بیشتری دارد. در واقع پیاده سازی جاوا بسیار متفاوت تر از C است. همچنین با این که جاوا و جاوا اسکریپت نام های مشابهی دارند و سینتکس آن ها شبیه به زبان C است ولی نسبت دوری با یکدیگر دارند. جاوا با زبان #C نیز شباهت هایی دارد. در واقع زبان سی شارپ تا حد زیادی پاسخ مایکروسافت به جاوا است و برخی اعتقاد دارند که مهندسین مایکروسافت برای طراحی زبان سی شارپ از زبان جاوا الهام گرفته اند. با توجه به روش و اهداف طراحی مشترک (مانند استفاده از ماشین مجازی، بایت کد، سند باکس و...)، این دو زبان از لحاظ سرعت یا امنیت تفاوت قابل توجهی با یکدیگر ندارند. زبان سی شارپ مانند جاوا پرتابل است ولی بر روی پلتفرم های کمتری پشتیبانی می شود.

میزان محبوبیت
طبق آخرین رده بندی IEEE (موسسه مهندسی برق و الکترونیک) و همچنین بخش ارزیابی میزان محبوبیت زبان های برنامه نویسی از دید توسعه دهندگان در سایت Tiobe، زبان برنامه نویسی جاوا محبوب تربن زبان برنامه نویسی در دنیا است.

IEEE در سال 2015، با استفاده از معیارهایی چون تعداد منابع آنلاینی که در گوگل ایندکس شده است، تعداد پرس و جوهایی که در گوگل صورت گرفته است، تعداد سوالاتی که در مورد آن زبان برنامه نویسی در Stack Overflow پرسیده شده و میزان علاقه ای که نسبت به آن سوال نشان داده شده است، تعداد آگهی های کاری که در Career Builder برای آن زبان قرار گرفته شده است، تعداد مقالات IEEE که از آن زبان در متن خود استفاده کرده است و ...، میزان محبوبیت تعدادی زیادی از زبان های برنامه نویسی را تعیین کرده است.

نتایج نشان می دهد که در حالت کلی، جاوا محبوب ترین زبان برنامه نویسی است. زبان برنامه نویسی جاوا در میان زبان هایی که به سرعت رشد کرده اند پس از C و ++C در رتبه ی سوم قرار دارد. همچنین جاوا بیشترین تعداد تقاضا را در بازار کار داراست و در میان زبان هایی که در هاب های اپن سورس معروف هستند، مرتبه سوم را پس از ++C و Python دارد.

موارد استفاده
در دنیای واقعی کاربردهای مختلفی وجود دارد که از جاوا استفاده شده است که در ادامه برخی از مهم ترین آن ها را ذکر می کنیم:

1- اپلیکیشن اندرویدی: بیشتر اپلیکیشن های اندرویدی با زبان برنامه نویسی جاوا نوشته شده‌اند. امروزه بسیاری از برنامه نویسان جاوا، توسعه دهنده اپلیکیشن اندروید هستند. اگر چه که سیستم عامل اندروید از ماشین مجازی و SDK متفاوتی استفاده می کند، ولی هنوز هم کدهای اپ های اندرویدی نیتیو به زبان جاوا نوشته می شوند.

2- اپلیکیشن سرور در صنعت خدمات مالی: جاوا در خدمات مالی بسیار پرکاربرد است. بسیاری از بانک های سرمایه گذاری جهانی مانند گلدمن ساکس، سیتی گروپ، بارکلیز، استاندارد چارتد و بانک های دیگر برای نوشتن سیستم تجارت الکترونیکی درونی سازمانی و برون سازمانی، سیستم های پرداخت و تائید، پروژه های پردازش داده و بسیاری موارد دیگر از جاوا استفاده می کنند. جاوا معمولا برای برنامه های سمت سرور و دریافت داده ها از یک سرور، پردازش داده ها و ارسال داده ها به به فرایند دیگر به عنوان کاندیدای اول برنامه نویسان است.

3- اپلیکیشن های تحت وب: جاوا در فضای اپلیکیشن وب و تجارت الکترونیکی نیز جایگاه ویژه ای دارد. بسیاری از بخش های دولتی، سلامت، بیمه، آموزش، دفاع و ...، برای اپلیکیشن های تحت وب خود از زبان برنامه نویسی جاوا استفاده کرده اند.

4- توسعه ی نرم افزار: بسیاری از ابزارهای مفید نرم افزاری و توسعه توسط جاوا نوشته شده و توسعه یافته اند که از آن جمله می توان به Eclipse، InetelliJ Idea و Netbans اشاره کرد.

5- اپلیکیشن های تجاری: اپلیکیشن های تجاری معروف مانند Murex که در بسیای از بانک ها برای اتصال برون سازمان با درون سازمان استفاده می شود به زبان جاوا نوشته شده اند.

6- اپلیکیشن J2ME: هرچند ظهور iOS و اندروید، بازار کار J2ME را از بین برده است، ولی هنوز هم بازار کار بزرگی برای گوشی های سامسونگ و نوکیا که از J2ME استفاده می کنند وجود دارد. زمانی بود که تقریبا تمامی گیم ها و اپلیکیشن هایی که در اندروید در دسترس هستند، با استفاده از MIDP و CLDC که بخشی از J2ME هستند، نوشته می شد. یکی از دلایلی که WhatsApp معروف شد، این است که در J2ME برای گوشی های نوکیا در دسترس بود.

7- فضای Embedded (جاسازی شده): جاوا در سیستم های Embedded نیز جایگاه خوبی دارد. شما برای این که از تکنولوژی جاوا استفاده کنید، فقط به 130 کیلو بایت در کارت هوشمند یا سنسور سیستم خود نیاز دارید. در اصل، جاوا برای دستگاه های Embedded نوشته شده است و همین کاربرد جاوا است که شعار "یکبار بنویسید، در هر جایی استفاده کنید" را محقق می سازد.

8- تکنولوژی داده های بزرگ: نرم افزار Hadoop و دیگر تکنولوژی های داده ای بزرگ نیز از جاوا استفاده می کنند و این در حالی است که در نسخه 10 جاوا پشتیبانی از Big Data به مراتب بیشتر خواهد شد.

9- فضای تجاری با فرکانس بالا: پلتفرم جاوا مشخصه ی کارایی خود را به صورت قابل توجهی بهبود داده است و با JIT مدرن، قادر است تا کارایی خود را تا سطح ++C برساند. به همین علت، جاوا در نوشتن سیستم هایی با کارائی بالا نیز معروف است.

10- اپلیکیشن های علمی: امروزه جاوا اغلب یک انتخاب از پیش تعیین شده برای اپلیکیشن های علمی از جمله پردازش زبان طبیعی (استفاده از سیستم های کامپیوتری برای پردازش و درک زبان گفتاری و نوشتاری به منظور ارتباط بهتر کامپیوتر با انسان) است. دلیل اصلی این مسئله ایمنی، قابلیت حمل، قابلیت نگهداری جاوا و نیز ابزار همزمانی سطح بالای بهتر از ++C یا هر زبان دیگری است.

نمونه های عملی استفاده از جاوا
1- کاوش فضا در NASA: سازمان فضایی ملی ایالات متحده آمریکا (NASA) از جاوا برای تعدادی از اپلیکیشن های جالب استفاده می کند. World Wind یک کیت توسعه نرم افزاری (SDK) است که به کاربران اجازه می دهد تا از فضا بر روی زمین زوم کرده و هر مکان دلخواه در زمین را بررسی کنند. منبع مورد استفاده ی این SDK، ترکیبی از تصاویر ماهواره ای Landsat و داده های حاصل از ماموريت شاتل براى تهيه نقشه هاى توپوگرافى (SRTM) است. در حال حاضر 90 اپلیکیشن شگفت انگیز با استفاده از این SDK ساخته شده اند. تصور کنید یکی از افرادی باشید که بر روی کدی کار می کنید که همه چیز را ممکن می سازد. در سایت های مختلفی از جمله سایت Indeed می توانید فهرستی از شغل های مرتبط با جاوا که مورد نیاز NASA هستند را بیابید.

2- طراحی روبات: جاوا در انواع اپلیکیشن های روباتیک مورد استفاده قرار می گیرد. برخی از آن ها ممکن است به نظر پیش پا افتاده باشند، ولی برخی دیگر بسیار هیجان انگیز هستند. برای مثال، بخشی از پروژه خودروی بدون راننده ی تیم جفرسون به نام تامی جونیور است که در چالش شهریِ آژانس پروژه های تحقیقاتی پیشرفته دفاعی (DARPA) شرکت کرده است. راز تامی سیستم عامل MAX شرکت Perrone Robotics است، که اجازه می دهد تا تیم از اجزایی مانند سنسورها و محرک ها استفاده کند. هدف، ایجاد خودروی روباتیک بدون راننده است که مردم بتوانند آن را تهیه کنند. تامی جونیور به طورخالص 50000 دلار هزینه دارد، که شامل هزینه های پلتفرم اتوماتیک است.

3- کمک به پزشکان برای تماس های مجازی: روزی روزگاری، پزشکان تماس های واقعی برقرار کرده و بیماران را در خانه هایشان ویزیت می کردند. این روش برای پزشکان کارآمد نبود ولی برای بیماران مطمئنا مناسب بود. امروزه، یک راه حل پزشکی طراحی شده است تا پزشکان در دفتر خود بمانند ولی بیماران را نیز در منزل خود ببینند. یکی از این پروژه ها، Doctor Online است که کدنویسی ماژول های این اپلیکیشن، مبتنی بر زبان جاوا است. این سیستم شامل مجموعه ای کامل از ماژول هایی است که برای تعامل راحت و سریع دکتر و بیمار طراحی شده اند.

4- گیم بازی کردن: تعداد زیادی از گیم ها از زبان جاوا استفاده می کنند چرا که جاوا در همه جا کار می کند و پکیج گرافیکی JavaFX کار با انواع تصاویری که گیمرها استفاده می کنند را آسان می سازد. در واقع، سایت های توسعه ی گیم مانند Java-Gaming وجود دارند که به نیازهای توسعه دهندگان جاوا اختصاص دارد. همچنین می توان کتابخانه های تخصصی برای توسعه گیم مانند (Lightweight Java Game Library (LWJGL یافت که ایجاد گیم ها را در جاوا خیلی آسان می سازد.

5- کار در Cloud: همانند بسیاری از زبان ها، جاوا به طور فزاینده ای برای اهداف توسعه کلود استفاده می شود. این فقط ایده ی ایجاد اپلیکیشن جدید در کلود یا انتقال اپلیکیشن های موجود به کلود نیست، بلکه مخلوط کردن اپلیکیشن های کلود، موبایل، و دسکتاپ است تا کاربران در هر جایی که اپلیکیشن مورد استفاده قرار می گیرد، از مجموعه مهارت های اشتراکی استفاده کنند. توانایی جاوا برای اجرا در تمامی مکان ها، آن را برای توسعه کلود مناسب می سازد (البته فراموش نکنیم که زبان Go که توسط شرکت گوگل توسعه داده می شود، بیشتر برای کلود مناسب است.)

6- اپلیکیشن مدارس: تعداد زیادی از مدارس بر مبنای اپلیکیشن های جاوا هستند و اپلیکیشن های مورد نیاز مدارس مانند آمار فعالیت دانش آموزان و یا مدل سازی آزمایشگاه، در زبان جاوا نوشته می شود. تا همین اواخر، جاوا زبان انتخابی مدارس برای یادگیری مهارت های برنامه نویسی بود (اما امروزه زبان‌هایی مثل پایتون و اسکرچ جای آن‌ها را گرفته اند!)

درآمد توسعه دهندگان جاوا
طبق آمار سایت Indeed (معتبرترین سایت جهان در زمینه ی کاریابی)، میانگین درآمد شغل های مرتبط با جاوا در ماه اکتبر سال 2015 معادل با 102000 دلار آمریکا است که 77% بیشتر از میانگین درآمد شغل های دیگر است. طبق آمار همین سایت، میانگین درآمد شغل های مرتبط با جاوا در ایالات متحده در ماه اکتبر سال 2015 به قرار زیر است:
مهندس نرم افزار Java Net معادل با 77000 دلار
آرشیتکت مهندسی نرم افزار جاوا معادل با 123000 دلار
مهندس نرم افزار Java J2EE معادل با 97000 دلار
تحلیل گر Net Java معادل با 71000 دلار
توسعه دهنده تازه کار جاوا معادل با 21000 دلار
مهندس با تجربه جاوا معادل با 105000 دلار
آموزش رایگان و کاریابی معادل با 61000 دلار
توسعه دهنده اصلی جاوا معادل با 82000 دلار
مهندس با تجربه نرم افزار جاوا معادل با 102000 دلار
مهندس نرم افزار جاوا معادل با 89000 دلار
آرشیتکت جاوا معادل با 113000 دلار
مهندس جاوا معادل با 94000 دلار
توسعه دهنده با تجربه جاوا معادل با 100000 دلار
و مشاغل آنلاین مرتبط با زبان جاوا معادل با 20000 دلار

در ایران هم بازار کار جاوا نسبت به زبان های دیگر خوب است و می توان گفت دلیل این تقاضای نسبتا زیاد زبان جاوا، محبوبت بیش از پیش پلتفرم اندروید است که برای نوشتن اپ های نیتیو اندرویدی، شرکت های توسعه ی نرم افزاری نیاز به برنامه نویسان جاوا دارند. همچنین برخی از پروژه های بزرگ دولتی -مثل بانک ها و ...- به زبان جاوا نوشته می شوند و به دلیل حساسیت پروژه های مرتبط با جاوا، می توان گفت درآمد حاصل از برنامه نویسی جاوا در ایران چندین برابر زبان های دیگر است.

سینتکس زبان برنامه نویسی جاوا
سینتکس جاوا به طور عمده از ++C گرفته شده است. برخلاف زبان سی پلاس پلاس که یک زبان برنامه نویسی ساخت یافته، عمومی و شیء گرا است، جاوا تقریبا به طور انحصاری یک زبان شیء گرا است. تمامی کدها در داخل کلاس ها نوشته می شوند و به غیر از انواع داده های اولیه مانند اعداد صحیح، اعداد اعشاری، مقادیر بولینی، و کاراکترها که به دلایل عملکردی شیء نیستند، تمام عناصر داده ای دیگر در زبان جاوا به عنوان یک شیء محسوب می شوند.

جاوا از کامنت های مشابه سی پلاس پلاس استفاده می کند. سه نوع متفاوت کامنت وجود دارد: سبک خط واحد که با دو اسلش علامت گذاری می شود، سبک چند خطی که با */ آغاز شده و با /* بسته می شود و سبک کامنت گذاری جاوا کد که با **/ آغاز شده و با /* بسته می شود. جاوا کد به برنامه نویس اجازه می دهد تا برای ایجاد مستندسازی برای برنامه، جاوا کد را اجرایی سازد. در ادامه، با نمونه برنامه ی "Hello,world" در جاوا آشنا می شویم:


class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // Prints the string to the console.
    }
}

لیست موسسات و کلاس های حضوری آموزش جاوا در ایران
- ماشین های محاسب ایران (ACM)
- شرکت مشاوران نرم افزاری اعوان
- مرکز آموزش شرکت عصر دانش افزار
- انستیتو ایزایران
- آموزشگاه سماتک
- مجتمع فنی تهران
- شرکت بین المللی فناوری اطلاعات مشکوه دانش
- آزمایشگاه یادگیری فناوری اطلاعات دانشگاه صنعنی شریف (لایتک)

 هشدار

لازم به ذکر است که موسسات فوق الذکر هیچ کدام مورد تایید سکان آکادمی نبوده و صرفا جهت اطلاع رسانی در بخش ویکی آورده شده اند. از علاقمندانی که تمایل به شرکت در کلاس های حضوری فوق را دارند خواهشمندیم که به بررسی دقیق سرفصل های آموزشی موسسه، مدرس دوره، اعتبار موسسه و ... دقت کنند.

کتاب های آموزش زبان برنامه نویسی جاوا
کتاب های بسیاری در زمینه جاوا نوشته شده اند که در اینجا به معرفی برخی پرطرفدارترین آن ها-هم سورس انگلیسی و هم ترجمه و تالیف فارسی- می پردازیم:
Head First Java لینک کتاب در سایت انتشارات Oreilly
Java How to Program لینک کتاب در سایت انتشارات Deitel
Java: A Beginner’s Guide لینک کتاب در سایت Amazon
Beginning Programming with Java For Dummies, 4th Edition لینک کتاب در سایت انتشارات For Dummies

توصیه ی ما به علاقمندان به فراگیری زبان برنامه نویسی جاوا مطالعه ی منابع اصلی -انگلیسی زبان- است اما به هر حال چنانچه تمایل به مطالعه ی کتب آموزش زبان برنامه نویسی جاوا به زبان فارسی دارید، کتاب زیر را توصیه می کنیم:
چگونه با جاوا برنامه نویسی کنیم، مولف: مهندس علیرضا انصاری لینک کتاب در انتشارات ناقوس

سایت های آموزش آنلاین جاوا:
سایت های زیادی نیز وجود دارند که به آموزش زبان برنامه نویسی می پردازند، در ادامه به معرفی برخی از این سایت می پردازیم:
سکان آکادمی: یکی از پرطرفدار ترین دوره های آموزشی ما در سکان آکادمی، دوره ی آموزش مقدماتی زبان برنامه نویسی جاوا است که به صورت کاملا رایگان در اختیار علاقمندان قرار می گیرد. مشاهده ی دوره ی آموزش آنلاین زبان برنامه نویسی جاوا در سکان آکادمی
Learn Java Online: سایتی است که در آن تمامی مفاهیم جاوا از مقدماتی تا پیشرفته آموزش داده شده است و شما می توانید همزمان با یادگیری این زبان برنامه نویسی، کدها را اجرا کنید و در لحظه خروجی آموزش ها را مشاهده نمایید. مشاهده ی سایت Learn Java Online
Udemy: سایت Udemy یک سایت بسیار خوب برای آموزش ویدئویی رشته های مختلف است. اگر چه که این سایت برای برخی از کلاس های آنلاین خود هزینه دریافت می کند، ولی برخی از دوره های آموزشی جاوا را به صورت کاملا رایگان برگزار می کند. لینک دوره ی آموزش جاوا در سایت Udemy
Tutorials Point: این سایت به آموزش کامل زبان برنامه نویسی جاوا از مقدماتی تا پیشرفته می پردازد و مثال های مختلفی برای هر کدام از مباحث بیان کرده است که این مثال های کاربردی، برنامه نویسان مبتدی را در درک بهتر موضوعات یاری می رساند. لینک دوره ی جاوا در سایت Tutorials Point
Begin with Java: مباحث مربوط به جاوا بصوت متنی در این سایت آموزش داده شده است. لینک سایت Begin with Java
javaTpoint: این سایت نیز تمامی مباحث مربوط به جاوا را بصورت متنی توضیح داده است، همچنین امکان تست کدها به صورت آنلاین وجود دارد. این سایت علاوه بر آموزش مقدمات زبان برنامه نویسی جاوا، دوره های آنلاین آموزش برنامه نویسی Android، JSP و ... را نیز دارا است. لینک دوره ی آموزش جاوا در سایت javaTpoint

مخاطبین این دوره چه کسانی هستند؟
این دوره برای کاربرانی مبتدی درنظر گرفته شده که تازه می‌خواهند زبان جاوا را یاد گرفته و به‌نوعی وارد دنیای برنامه‌نویسی شوند. توصیه می‌شود کاربرانی که علاقمند به یادگیری توسعهٔ اپ برای سیستم‌عامل اندروید هستند، پیش از شروع به مبانی زبان برنامه‌نویسی جاوا تسلط پیدا کنند. 

هزینهٔ این دوره چقدر است؟
این دوره کاملاً رایگان و به‌صورت آنلاین برگزار می‌گردد.

آیا این دوره پیش‌نیاز خاصی دارد؟
گرچه تمام تلاش خود را به‌ کار بسته‌ایم تا کلیهٔ مفاهیم در خود این دوره گنجانده شوند، اما به‌هر‌حال توصیه می‌کنیم کسانی‌که هیچ پیش‌زمینه‌ای در برنامه‌نویسی ندارند پیش از شروع این دوره و یا به‌صورت هم‌زمان، دورهٔ آموزش اصول برنامه‌نویسی در سکان آکادمی را بگذرانند.

علاوه بر این، دورهٔ آنلاین دیگری در سکان آکادمی تحت‌عنوان ۹۷ چیزی که هر برنامه‌نویسی باید بداند به‌صورت کاملاً رایگان عرضه شده که در این دوره تجربیات دولوپرهای باتجربه و حرفه‌ای از سراسر دنیا در قالب ۹۷ نکتهٔ کاربردی جمع‌آوری شده که می‌تواند برای علاقمندان تازه‌کار به دنیای برنامه‌نویسی بسیار مفید و کاربردی واقع گردد.

پس از اتمام این دوره، چه دستاوردهای علمی به‌دست خواهم آورد؟
دانشجویانی که دورهٔ آموزش مقدماتی جاوا در سکان آکادمی را بگذرانند، پس از اتمام این دوره می‌توانند برنامه‌نویسی اندروید را شروع کنند و یا به‌سادگی وارد مباحث پیشرفته‌تر جاوا همچون ارتباط با دیتابیس، طراحی رابط کاربری (GUI) و ... شوند.

آیا امکان بازنشر این دوره از طریق دیگر سایت‌ها وجود دارد؟
براساس قوانین سکان آکادمی، هرگونه بازنشر دوره‌های آموزشی این وب‌سایت برخلاف قوانین سکان آکادمی بوده، از لحاظ شرعی حرام و از لحاظ حقوقی قابل پیگرد قانونی است.

لیست نظرات
برای ثبت نظر، ابتدا لاگین نمایید.
fighter
fighter
۱۳۹۶/۰۳/۲۴
ممنون از زحمات شما استاد مرادی
کاربر میهمان
کاربر میهمان
۱۳۹۶/۰۳/۱۸
سلام
برای حل یکسری سوال ها مثلا گفته میشه
محدودیت زمان: ۰.۵ ثانیه
محدودیت حافظه: ۲۵۶ مگابایت
اینهارو چجوری/کجا باید در برنامه منظور کنیم ؟
(من در محیط ویندوز و با intellij برنامه می نویسم)
hakim1520
hakim1520
۱۳۹۶/۰۳/۱۵
دوباره سلام نوشتید 60قسمت اما ادامه اش کجاست؟
hakim1520
hakim1520
۱۳۹۶/۰۳/۱۵
چرا این اموزش بالاتکمیل نیست
کاربر میهمان
کاربر میهمان
۱۳۹۵/۱۲/۱۳
سلام
خداقوت واقعا بسیار عالی
من هنور چنین آموزش عالی ، سهل الفهم و کاربردی رو ندیده بودم واقعا که عالی هست انشالله که همیشه موفق و پیروز باشید
کاربر میهمان
کاربر میهمان
۱۳۹۵/۱۱/۱۲
شایسته است این دوره مفید به روزرسانی شود
کاربر میهمان
کاربر میهمان
۱۳۹۵/۱۱/۰۳
سایت آموزش جاوا روببینید
تعریفی ندارم خودتون با چشم خودتون ببینید راضی بودید از آموزش ها استفاده کنید
http://javapro.ir/
blab boY
blab boY
۱۳۹۵/۰۹/۱۴
توضیحات خیلی خوب و روونه.
فقط فایل pdfموجود نیست تا همه ی آموزشارو بصورت جامع دان کنم؟؟
fighter
fighter
۱۳۹۶/۰۳/۲۴
در گوگل کروم ctrl +p را بگیر

در پاسخ به

کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۹/۰۴
بخدا دمت گرم ایول داری خیلی ساده و روانه
sadegh8
sadegh8
۱۳۹۵/۰۸/۲۴
با سلام ممنون از اقای مرادی بابت اموزش های عالیشون بنده خیلی چیزها از ایشون یاد گرفتم انشالله همیشه موفق باشین اقای مرادی
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۸/۲۴
با سلام . ممنون بابت اموزش های خوبتون
اگه ممکنه لینک موضوعات در اموزش جاوا رو هم بزارید که اگه بعدا بخوایم بیایم سراغ یه قسمت اموزش؛ کارمون راحتتر باشه . الان برای مطالعه مجدد یه قسمت باید کل موضوعاتو بگردیم تا یه موضوعو دوباره مطالعه کنیم.
ممنون میشم رسیدگی کنید
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۸/۲۰
mafhoome ersbari ro motevajeh nemishodam besyar salis o sade toozih dadin sepase faravan...
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۷/۰۸
عالی ولی ای کاش اموزش c و c++ رو بزارین
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۵/۳۰
ممنون جاوا عالیه ...
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۵/۲۲
سلام ممنون آموزش خاتون عالیه لطفا فایل کامل آموزش جاوا به صورت پی دی اف هم قرار بدهید
fighter
fighter
۱۳۹۶/۰۳/۲۴
در گوگل کروم ctrl + p را بگیر

در پاسخ به

کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۵/۱۶
خوبه ، متشكر
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۵/۱۱
به خدا قسم تا حالا همچین اموزش عالی ندیده بودم خدا خیرتون بده
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۵/۰۵
ممنون!
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۴/۱۴
آموزش هاتون خوب نیست
عالیه :-)
مثال هاتون بجا و جذابه
ممنونم از بابت تمامی زحماتی که در این مدت متحمل شده اید
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۴/۰۹
آموزشهای خوبی منتشر کرده‌اید. متشکریم. آموزشهای ویدیویی سایت جاواکاپ هم خیلی خوب هستند: http://www.javacup.ir/javacup/
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۲/۱۸
خوبه
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۲/۰۵
سلام
این فیلم ‌ها را ببینید تازه میفهمید تدریس جاوا یعنی چی!
https://see.stanford.edu/Course/CS106A
fighter
fighter
۱۳۹۶/۰۳/۲۴
دستت درد نکنه

در پاسخ به

کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۲/۰۲
سلام .ممنون از آموزش هاتون . اگر به صورت کلیپ بود خیل بهتر بود.
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۱/۲۷
خوبه
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۱/۲۴
ok
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۱/۱۳
آموزشهاتوت عالی هستند..