Skip to main content

آموزش جامع جاوا Java

java e learning

برای شروع بحث و بررسی پیرامون این سؤال که “جاوا چیست؟” در ابتدا می بایست تاریخچه ای از جاوا خدمت دوستداران این زبان برنامه نویسی شیءگرا ارائه شود و در همین راستا در سرفصل آموزشی حاضر ابتدا به بررسی تاریخچه ای از جاوا پرداخته شده است. در ادامه به مقدماتی پیرامون قوانین و اصول حاکم بر این زبان برنامه نویسی اشاره شده است و تمامی اجزاء و کامپوننت های جاوا معرفی شده و مورد بحث قرار می گیرند؛ همچنین قوائد نحوی و اصول کامپایل شدن در جاوا مورد بررسی قرار می گیرد و کاربران با قاواعد ایجاد کلاس های جاوا بهمراه مثال های عملی آشنایی پیدا می کنند. در ادامه دانش پژوهان زبان جاوا با ویژگی مدیریت اتوماتیک حافظه آشنا می شوند و با زمان منقضی شدن ارجاعات آشنایی کامل پیدا می کنند و متوجه می شوند ویژگی garbage collection یا جمع آوری زباله چگونه می تواند در تنظیم و مدیریت حافظه در دسترس تأثیر گذار شود. در پایان این سرفصل ابتدایی دانش پژوهان با انواع محیط های در دسترس توسعه دهندگان جاوا برای محیط های ویندوز و مک آشنا می شوند و می توانند در انتخاب محیط توسعه مورد نیاز تصمیم گیری کنند.

این سرفصل آموزشی شامل 5 ویدیو می باشد (55 دقیقه و 09 ثانیه)

جهت شروع برنامه نویسی بوسیله زبان جاوا همواره می بایست ابتدا بسته به اینکه سیستم عامل ما مک یا ویندوز و هر چیز دیگری می باشد ابتدا بسته های مورد نیاز java را از سایت اوراکل دانلود نماییم و اقدام به نصب آنها کنیم و سپس بسته به اینکه می خواهیم با بکارگیری کدامین محیط توسعه اقدام به کدنویسی کنیم باید یکی از نرم افزار های مورد نیاز را از سایت های مورد نظر دانلود و سپس نصب کنیم. در این سرفصل آموزشی توسعه دهندگان ابتدا پکیج های مورد نیاز کار با جاوا را برای پیاده سازی از سایت Oracle دانلود نمود و بعد از نصب آنها اقدام به دانلود و نصب آخرین نسخه نرم افزار IntelliJ IDEA می نمایند. مدرسین طهاکو همچنین طریقه نصب و راه اندازی BlueJ را به دانش پژوهانی که قصد دارند بصورت گذرا با جاوا کار کنند را نیز در قالب آموزشی مجزا ارائه می دهند تا با پوشش نیاز تمام کاربران این زبان کار کدنویسی را در فصول آتی شروع نمایند.

این سرفصل آموزشی شامل 5 ویدیو می باشد (23 دقیقه و 53 ثانیه)

Hello Word (سلام دنیا) اولین و ساده‌ترین کد برای هر کارآموز یک زبان برنامه نویسی می باشد که خروجی این کد جمله «Hello, world!» می‌باشد. در این سرفصل از سلسله مباحث آموزش جاوا طهاکو؛ قصد داریم در ابتدا دانش‌پژوهان را با طریقه ساخت برنامه هلو ورد در ویرایشگر نوت‌پد آشنا کنیم و در ادامه با استفاده از کامند پرامپت برنامه ایجاد شده را در جهت صحت‌سنجی سند ایجاد شده نمایش دهیم. مباحث را با وارد کردن آرگومان‌ها در یک برنامه کنسول ادامه می دهیم و اولین پروژه java خود را در اینتلیج آیدیا و BlueJ ایجاد می‌کنیم. در نهایت توسعه دهندگان را با مستندات راهنمای جاوا آشنا می‌کنیم تا با پیش‌زمینه‌های بیان شده وارد مباحث تخصصی برنامه نویسی در IntelliJ IDEA شویم.

این سرفصل آموزشی شامل 6 ویدیو می باشد (// دقیقه و // ثانیه)

تاکنون پیشنیازهای مورد نیاز هر کدنویس جاوا، برای شروع کار با IntelliJ IDEA را بررسی کردیم و از آغازین دروس این سرفصل کار برنامه‌نویس ما عملاً استارت میخورد. برای شروع کار با متغیرهای جاوا بعنوان اساسی‌ترین واحد ذخیره‌سازی را آموزش میدهیم و سپس شما را با انواع نوع داده‌های اولیه عددی یا numeric primitives و طریقه تعریف و اعلان و نمایش مقادیر آنها در خروجی آشنا میکنیم. سپس نحوه کار با کلاسهای BigInteger و BigDecimal برای ذخیره داده‌های بزرگ صحیح و اعشاری را توضیح میدهیم و مبحث مهم تبدیل نوع داده به متغیری از نوع دیگر را بررسی میکنیم.  از آنجایی که یکی از ضروری‌ترین کارها در کدنویسی اجرای عملیات ریاضی روی مقادیر عددی است، نحوه استفاده از عملگرهای ریاضی را به شما آموزش میدهیم و همچنین نوع داده بولین و کلاس کمکی آن و کاربردهایش را شرح خواهیم داد. در جاوا نوع داده اولیه‌ای با نام character برای اعلان متغیرهای از نوع جنس داده وجود دارد که این مورد را هم شرح داده‌ایم و در انتها بصورت تخصصی انواع عملگرهای جاوا را بصورت جزئی در اینتلیج آیدیا مورد بررسی قرار میدهیم.

این سرفصل آموزشی شامل 8 ویدیو می باشد (// دقیقه و // ثانیه)

توضیحات زبان برنامه نویسی جاوا:

جاوا که تایپ لاتین آن Java هست، یک زبان برنامه‌نویسیِ شیءگرا می باشد که نخستین‌بار توسط جیمز گاسلینگ در شرکت سان‌مایکروسیستمز ایجاد گردید و در سال ۱۹۹۱ به‌عنوان بخشی از سکوی جاوا منتشر شد.

زبان جاوا، شبیه به سی‌پلاس‌پلاس است، اما مدل شیءگرایی آسان‌تری دارد و از قابلیت‌های سطح پایین کمتری پشتیبانی می‌کند. ایدهٔ شیء گرایی جاوا از زبان اسمال‌تاک گرفته شده‌است. یکی از قابلیت‌های بنیادین جاوا این است که مدیریت حافظه را به‌طور خودکار انجام می‌دهد. ضریب اطمینان عملکرد برنامه‌های نوشته‌شده به این زبان نسبت به زبان‌های نسل اول C بالاتر است. برنامه‌های جاوا به صورت بایت کد می‌شوند و توسط ماشین مجازی جاوا (JVM) به کدهای ماشین تبدیل و اجرا می‌شوند. در صورت وجود JVM مانند سایر زبان‌های مبتنی بر آن که وابسته به سیستم‌عامل خاصی نیستند برنامه‌های نوشته شده به جاوا بر روی هر نوع سیستم عامل و هرگونه وسیلهٔ الکترونیکی قابل اجرا می‌باشند. شعار جاوا «یکبار بنویس و همه جا اجرا کن» (Write once, Run anywhere) است که به همین ویژگی اشاره دارد. این ویژگی جاوا را مستقل از سکو می‌نامند.

در سال ۱۹۹۰ سان‌مایکروسیستمز در حال توسعه نرم‌افزاری برای استفاده ابزارهای الکترونیکی بود که مسئولیت تیم که آن را پروژه green نامیدند، جیمز گاسلینگ بر عهده گرفت. در سال ۱۹۹۱ تیم تصمیم گرفت که زبان جدید را OAK بنامند. در سال ۱۹۹۲ تیم پروژه green زبان جدیدی را معرفی کرد که با ابزارهای مختلف خانگی و لمسی کار می‌کرد. در سال ۱۹۹۳ وب جهانی توسعه یافت و زبان جدید با معرفی اپلت که قابلیت‌های زیادی به کامپیوترهای متصل به وب می‌افزود مشهور شد. در سال ۱۹۹۵ زبان OAK به JAVA تغیر نام پیدا کرد و توسط مایکروسافت و نت اسکیپ پشتیبانی شد. در سال ۱۹۹۶ دیگر java زبانی به صورت همه گیر چند منظوره شناخته شده بود. در سال ۲۰۰۷ زبان‌هایی با استاندارد JVM مانند groovy ایجاد شد و در سال ۲۰۱۴ جاوا سعی کرد با معرفی نسخه ۸ برخی از قابلیت‌های زبان‌های دیگر را به جاوا اضافه نماید.

این زبان قسمت‌های بسیاری از گرامر خود را از C و ++C گرفته اما دارای مدل شی‌گرایی ساده‌ای است و امکانات سطح پایین کمی دارد. کاربرد جاوا در کامپایل به صورت بایت کد است که صرف نظر از معماری و خصوصیات آن کامپیوتر، قابلیت اجرا روی تمامی ماشین‌های شبیه‌سازی جاوا را دارد. اجزای اصلی کامپایلرهای جاوا، ماشین‌های پیاده‌سازی و کتابخانه‌های آن توسط شرکت مذکور از سال ۱۹۹۵ منتشر شد. در مه ۱۹۹۷ این شرکت، نرم‌افزار رایگان این زبان را فراهم کرد. دیگران هم کاربردهای دیگری از این زبان مثل کامپایلر GNU برای جاوا یا OPENJDK را منتشر کردند.

با پیدایش java2، نسخهٔ جدید توانست ترکیب‌های جدیدی را برای نوع‌های مختلف سکوهای مختلف ایجاد کند. به عنوان مثال J2EE، باهدف کاربرد برای تشکیلات سازمانی، و نسخهٔ سکوی جاوا، نسخه میکرو برای تلفن همراه منتشر شد. در سال ۱۹۹۶ با هدف بازاریابی، این شرکت نسخهٔ جدید J2 را با نام‌های سکوی جاوا، نسخه سازمانی، سکوی جاوا، نسخه میکرو و سکوی جاوا، نسخه استاندارد منتشر کرد. در سال ۱۹۹۷ شرکت سان‌مایکروسیستمز، ISO/IEC JTC1 standards body و Ecma International را به فرمول جاوا تغییر داد. شرکت Sun بسیاری از کاربردهای جاوا را بدون هیچ هزینه‌ای فراهم آورد. شرکت Sun با فروش مجوز برای بعضی از کاربردهای خاصش مثل Java Enterprise System درآمدی را بدست آورد. در ۱۳ نوامبر ۱۹۹۶ شرکت Sun نرم‌افزار جاوا را به صورت رایگان و با مجوز عمومی برای همه منتشر کرد.

جاوای ۸ و ۱۱ به عنوان نسخه‌های دارای پشتیبانی بلندمدت می‌باشند. نسخه‌های بزرگ منتشرشده، به همراه تاریخ انتشار آنها به شرح زیر است:

JDK 1.0، انتشار در ۲۱ ژانویهٔ ۱۹۹۶ JDK 1.1، انتشار در ۱۹ فوریهٔ ۱۹۹۷ J2SE 1.2، انتشار در ۸ دسامبر ۱۹۹۸ J2SE 1.3، انتشار در ۸ مه ۲۰۰۰ J2SE 1.4، انتشار در ۶ فوریهٔ ۲۰۰۲ J2SE 5.0، انتشار در ۳۰ سپتامبر ۲۰۰۴ Java SE 6، انتشار در ۱۱ دسامبر ۲۰۰۶ Java SE 7، انتشار در ۲۱۲۸ ژوئیه ۲۰۱۱ Java SE 8، انتشار در ۱۸ مارس ۲۰۱۴ Java SE 9، انتشار در ۲۱ سپتامبر ۲۰۱۷ Java SE 10، انتشار در ۲۰ مارس ۲۰۱۸ Java SE 11، انتشار در ۲۵ سپتامبر ۲۰۱۸ Java SE 12، انتشار در ۱۹ مارس ۲۰۱۹

ماشین مجازی جاوا (JVM) برنامه‌ای است که بایت‌کدهای زبان جاوا را مطابق با سیستم‌عاملی خاص کامپایل کرده و آن‌ها را برای اجرا در سطح سیستم‌عامل آماده می‌کند، در حقیقت شعار اصلی زبان جاوا (یک‌بار بنویس و همه‌جا اجرا کن) با استفاده از این ماشین مجازی امکان‌پذیر شده‌است.

یکی از ویژگی‌های جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به‌طور مشابهی در کامپیوترهای مختلف با سخت‌افزارهای متفاوت اجرا شود؛ و باید این توانایی را داشته باشد که برنامه یک بار نوشته و کامپایل شده و سپس در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا ذخیره می‌شود، اما نه به‌صورت کد ماشین بلکه به‌صورت بایت‌کد جاوا. دستورالعمل‌ها شبیه کد ماشین هستند، اما با ماشین‌های مجازی که به‌طور خاص برای سخت‌افزارهای مختلف نوشته شده‌اند، اجرا می‌شوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده می‌کند. کتابخانه‌های استاندارد یک راه عمومی برای دسترسی به ویژگی‌های خاص فراهم می‌کنند. مانند گرافیک، نخ‌کشی و شبکه. در بعضی از نسخه‌های ماشین مجازی جاوا، بایت‌کدها می‌توانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایت‌کد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامه‌های ترجمه شده (برنامه‌های نوشته شده به زبان‌های Interpreter ای مثل جاوا) تقریباً همیشه کندتر از برنامه‌های کامپایل شدهٔ محلی اجرا می‌شوند. این شکاف می‌تواند با چند تکنیک خوش‌بینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیک‌ها JIT است که بایت‌کد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان می‌کند. در نتیجه برنامه خیلی سریع‌تر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا می‌شود. بیشتر JVMهای پیشرفته، به‌صورت کامپایل مجدد پویا، در آنالیز JVM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینه‌سازی قسمت‌های برنامه، استفاده می‌شوند. کامپایل مجدد پویا می‌تواند کامپایل ایستا را بهینه‌سازی کند. زیرا می‌تواند قسمت hot spot برنامه و گاهی حلقه‌های داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامه‌های جاوا اجازه می‌دهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.

تکنیک بعدی به عنوان کامپایل ایستا شناخته شده‌است؛ که کامپایل مستقیم به کدهای محلی است مانند بسیاری از کامپایلرهای قدیمی. کامپایلر ایستای جاوا، بایت‌کدها را به کدهای شیء محلی ترجمه می‌کند.

کارایی جاوا نسبت به نسخه‌های اولیه بیشتر شد. در تعدادی از تست‌ها نشان داده شد که کارایی کامپایلرJIT کاملاً مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمی‌دهند. یکی از پیشرفت‌های بی‌نظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمی‌کردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثناء رخ می‌دهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت می‌کنند.

شرکت سان‌مایکروسیستمز مجوز رسمی برای پلتفرم استاندارد جاوا را به مایکروسافت ویندوز، لینوکس، و سولاریس (سیستم‌عامل) داده‌است. همچنین محیط‌های دیگری برای دیگر پلت فرم‌ها فراهم آورده‌است. علامت تجاری مجوز شرکت سان‌میکروسیستمز طوری بود که با همهٔ پیاده‌سازی‌ها سازگار باشد. به علت اختلاف قانونی که با مایکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیاده‌سازی مایکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگی‌های خاصی را برای خودش اضافه کرده‌است. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعد مایکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمی‌تواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آن‌ها و نسخه‌های دیگر ویندوز فراهم آوردند.

جاوا از حافظهٔ بازیافتی خودکار برای ادارهٔ حافظه در چرخهٔ زندگی یک شیء استفاده می‌کند. برنامه‌نویس زمانی که اشیاء به وجود می‌آیند، این حافظه را تعیین می‌کند؛ و در زمان اجرا نیز، زمانی که این اشیاء در استفادهٔ زیاد طولانی نباشند، برنامه‌نویس مسئول بازگرداندن این حافظه‌است. زمانی که مرجعی برای شی‌های باقی‌مانده نیست، شی‌های غیرقابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب می‌شوند. اگر برنامه‌نویس مقداری از حافظه را برای شی‌هایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق می‌افتند.

یکی از عقایدی که پشت سر مدل ادارهٔ حافظهٔ خودکار جاوا وجود دارد، این است که برنامه‌نویس هزینهٔ اجرای ادارهٔ دستی حافظه را نادیده می‌گیرد. در بعضی از زبان‌ها حافظه لازم برای ایجاد یک شیء، به صورت ضمنی و بدون شرط، به پشته تخصیص داده می‌شود؛ یا به‌طور صریح اختصاص داده شده و از heap بازگردانده می‌شود. در هر کدام از این راه‌ها، مسئولیت ادارهٔ اقامت حافظه با برنامه‌نویس است. اگر برنامه شیء را برنگرداند، سوراخ حافظه اتفاق می‌افتد. اگر برنامه تلاش کند به حافظه‌ای را که هم‌اکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بی‌ثبات شده یا تخریب شود. این ممکن است با استفاده از اشاره‌گر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد می‌شود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. به‌طوری‌که این زمانی اتفاق می‌افتد که برنامه بی‌کار باشد. اگر حافظهٔ خالی کافی برای تخصیص شیء جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، ادارهٔ حافظه و منابع اشیاء استفاده می‌شوند.

جاوا از نوع اشاره‌گر ریاضی C و ++C پشتیبانی نمی‌کند. در جایی که آدرس اشیاء و اعداد صحیح می‌توانند به جای هم استفاده شوند. همانند ++C و بعضی زبان‌های شی‌گرای دیگر، متغیرهای نوع‌های اولیهٔ جاوا شی‌گرا نبودند. مقدار نوع‌های اولیه، مستقیماً در فیلدها ذخیره می‌شوند. در فیلدها (برای اشیاء) و در پشته (برای توابع)، بیشتر از هیپ استفاده می‌شود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شی‌گرای خالص به حساب می‌آید.

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

جاوا در نسخه ۸ تغییرات بسیار مهم و گسترده‌ای داشته‌است. مفاهیمی مانند واسط‌های تابعی، عبارت‌های لامبدا، جویبار (Stream) و امکانات گسترده کتابخانه‌ای در این نسخه معرفی شده‌اند. در این نسخه، رویکرد برنامه‌نویسی تابعی، علاوه بر رویکرد شیءگرایی، ممکن شده‌است.

در نسخهٔ جاوا ۹ که در تاریخ ۲۱ سپتامبر ۲۰۱۷، به صورت عمومی عرضه شد، پروژه‌ای به نام Jigsaw به آن اضافه شد که قابلیت برنامه‌نویسی در قالب ماژول را در جاوا امکان‌پذیر کرد

داشتن یک پلتفرم ماژولار و ماژولار شدن JDK به توسعه‌دهندگان آن کمک می‌کند چنین پلتفرم قدیمی، گنده و بزرگی را مدیریت کنند و به جلو حرکت دهند. آن‌طور که معماران آن می‌گویند، الان تنها فرصتی بود که به سمت ماژولار کردن JDK پیش بروند وگرنه در آینده هرگز چنین اتفاقی ممکن نمی‌شد. ماژولاریتی علاوه بر کمک کردن به توسعه‌دهندگان JDK برای حرکت آن رو به جلو، فرصتی استثنایی‌تر را برای ما ایجاد می‌کند. تصور کنید که یک ماشین حساب ساده تحت کنسول نوشته‌اید، نه از امکانات JavaEE استفاده می‌کنید، نه کاری به CORBA دارید، نه JPA. احتمالاً تنها چیزی که نیاز دارید موارد پایه‌ای است. اما برای اجرا و توزیع برنامه‌تان نیاز به یک JRE کامل و حجیم دارید که احتمالاً راه انداختنش هم چندان ارزان نیست. اما با ماژولار شدن جاوا شما می‌توانید فقط ماژول‌هایی که استفاده کرده‌اید را در قالب یک Runtime Image داشته باشید که دیگر چیزهای اضافی‌ای که از آن‌ها استفاده نکرده‌اید را ندارد. با این قابلیت، حجم برنامه‌ها کم شده و شما می‌توانید از دستگاه‌های Embedded که حافظه محدودتری دارند هم استفاده کنید.

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

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

جاوا یک زبان برنامه نویسی است که اولین بار توسط شرکت Sun Microsystems در سال ۱۹۹۵ منتشر شد. امروزه جاوا همه جا است و می‌توان گفت به یک زبان فراگیر تبدیل شده است. بسیاری از برنامه‌های کاربردی و وب‌سایت‌ها مبتنی بر جاوا هستند. کنسول‌های بازی تا تلفن‌های همراه جاوا بر بازار دنیای تکنولوژی حاکم شده است.

اما این محبوبیت جاوا از کجا نشات می‌گیرد؟ چرا زبان جاوا به این شدت فراگیر شد؟ قطعا نمی‌توانیم تنها با ذکر یک دلیل، به این پرسش پاسخ دهیم. در واقع هرکدام از ویژگی‌های اصلی این زبان در فراگیری و محبوبیت آن نقش دارند. در ادامه مقاله، به این پرسش پاسخ می‌دهیم اما به عنوان چند نمونه از ویژگی‌های این زبان، می‌توانیم به عام منظوره بودن، پشتیبانی از همروندی، چندنخی و شی‌گرایی اشاره کرد. زبان برنامه نویسی جاوا توسط جیمز گاسلینگ و سایر همکارانش در شرکت Sun Microsystems توسعه داده شد و در سال ۱۹۹۵ به دنیا معرفی شد. در ابتدا، نام این زبان برنامه‌نویسی بلوط بود اما در انتهای این پروژه، این نام به جاوا تغییر پیدا کرد.

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

اما علاوه بر ویژگی شی‌گرایی، ویژگی‌های دیگری نیز وجود دارند که باعث شده توجه توسعه‌دهندگان و سازمان‌ها به این زبان معطوف شود. برخی از این ویژگی‌ها را در زیر بیان کردیم:

قابل حمل بودن : برنامه‌های جاوا، قابلیت حمل در شبکه را دارند. یعنی می‌توان آن را یکبار نوشت و سپس روی ماشین‌های مختلف اجرا کرد. برنامه جاوا پس از کامپایل به دستوراتی تبدیل می‌شوند که برای ماشین مجازی جاوا قابل فهم است. این دستورات بایت کد نام دارد. ماشین مجازی جاوا هم بایت کد را به کد ماشین که برای سخت افزار کامیپوتر قابل فهم است، تبدیل می‌کند. بنابراین بایت کدها را می‌توان در هر جای شبکه، روی هر کلاینت یا سروری که یک ماشین مجازی جاوا دارد، اجرا کرد. در مقابل، بسیاری از زبان‌های برنامه‌نویسی مانند COBOL ،C++ Visual Basic و Smalltalk، برنامه را به یک فایل باینری کامپایل می‌کنند. فایل‌های باینری، خاص پلت‌فرم هستند. بنابراین فایل باینری برنامه‌ای که برای ماشین‌های ویندوز نوشته شده، نمی‌تواند روی یک ماشین مک یا یک ماشین مبتنی بر لینوکس اجرا شود. مقاوم بودن: کدهای جاوا مقاوم هستند. مقاوم بودن به این معنی است که کمتر اتفاق می‌افتد که برنامه درهم شکسته شود یا اصطلاحا crash کند. برای محقق کردن این هدف، ماشین مجازی جاوا بررسی‌های خاصی را روی نوع هر شی انجام می‌دهد تا از یکپارچگی آن اطمینان حاصل کند، اشیا جاوا تنها می‌توانند به اشیا واقعی ارجاع دهند و نه به هر جای دلخواه از حافظه. مکانیزم‌های قوی جاوا برای تخصیص و آزادسازی خودکار حافظه و مدیریت خطا نیز بر مقاوم بودن برنامه‌ها اضافه می‌کند. یادگیری سریع: با توجه به اینکه نحو این زبان شبیه ++C است، یادگیری آن نسبتا آسان است، به ویژه برای افرادی که قبلا با c و ++c کار کردند. پلت‌فرم‌های جاوا در ادامه معرفی شدند. همه توسعه‌دهنده‌هایی که از زبان جاوا استفاده می‌کنند، برای اجرای برنامه‌های خود باید از این پلت‌فرم‌ها استفاده کنند. پلت‌فرم‌های جاوا از دو بخش اصلی رابط‌های برنامه نویسی کاربردی (API) برای جاوا و ماشین مجازی جاوا (Java Virtual Machine یا به اختصار JVM) تشکیل شده‌اند.

رابط‌های برنامه‌نویسی کاربردی در پلت‌فرم جاوا در واقع کتابخانه‌هایی از کدهای کامپایل شده است که شما می‌توانید از آنها در برنامه خود استفاده کنید. این کتابخانه‌ها تقریبا همه چیز را شامل ورودی/خروجی، شبکه، رابط گرافیک کاربری، تجزیه زبان XML، ارتباط با پایگاه داده و غیره دربرمی‌گیرد.

در نتیجه، نیاز نیست شما برای هرچیزی کد بزنید و فقط از توابع آماده شده در رابط برنامه نویسی کاربردی جاوا استفاده کنید!

برنامه‌های جاوا توسط برنامه دیگری به نام ماشین مجازی جاوا اجرا (یا تفسیر) می‌شود. به طور دقیق‌تر، برنامه‌های جاوا پس از کامپایل، به دستوراتی تبدیل می‌شوند که بایت کد نامیده می‌شوند. این دستورات، که شبیه به دستورات ماشین است، برای ماشین مجازی جاوا قابل فهم است. ماشین‌های مجازی جاوا هم با دریافت دستورات بایت کد، آنها را به زبان ماشین تبدیل می‌کنند و برنامه روی ماشین موردنظر اجرا می‌شود. بنابراین می‌توانیم برنامه‌های جاوا را روی هر سیستمی که ماشین مجازی جاوا یا به اختصار JVM روی آن نصب شده، اجرا کنیم.

برای مثال، یک برنامه جاوا که در یک کامپیوتر شخصی با سیستم عامل Windows NT، توسعه داده شده است، باید به طور یکسان و بدون هیچ تفاوتی روی یک ماشین کاری با سیستم عامل سولاریس نیز اجرا شود و بر عکس.

۱. (Java SE (Standard Edition: این پلتفرم که با نام J2SE نیز شناخته شده است، شامل کتابخانه‌های اصلی زبان برنامه نویسی جاوا است و با استفاده از آن، کاربران می‌توانند برنامه‌های جاوا خود را برای دسکتاپ، سرورها و محیط‌های جاسازی شده توسعه دهند. مولفه‌های این پلت‌فرم، شامل کیت توسعه جاوا (JDK)، محیط زمان اجرای جاوا (JRE) و رابط برنامه‌نویسی کاربردی (API) این پلت‌فرم است. کیت توسعه جاوا، شامل JRE، کامپایلرها و اشکال زداهایی است که برای توسعه اپلت‌ها و برنامه‌های کاربردی موردنیاز است. محیط زمان اجرا هم کتابخانه‌ها، ماشین مجازی جاوا و سایر مولفه‌های موردنیاز برای اجرای اپلت و برنامه‌های جاوا را شامل می‌شود.

۲. (Java EE (Enterprise Edition: این پلت‌فرم، به عنوان نسخه تجاری برای ساخت وب و برنامه‌های تجاری ارائه شد. این پلت‌فرم با نام J2EE شناخته شده است. با کمک این پلت‌فرم می‌توانیم مولفه‌های سمت سروری ایجاد کنیم که می‌تواند به درخواست-پاسخ مبتنی بر وب پاسخ بدهد. در نتیجه، می‌توانیم برنامه‌هایی ایجاد کنیم که می‌تواند با کلاینت‌های مبتنی بر اینترنت شامل مرورگرهای وب، کلاینت‌های مبتنی بر CORBA و حتی سرویس‌های وب میتنی بر REST و SOAP، تعامل داشته باشد.

۳. (Java ME (Micro Edition: این نسخه، یک پلت‌فرم سبک وزن برای توسعه تلفن‌های همراه است که در گذشته با عنوان J2ME شناخته می‌شد. این نسخه، برتری خود را در عرصه توسعه ابزارهای جاسازی شده یا دستگاه‌های تعبیه شده ثابت کرده و الان در تلاش است در عرصه توسعه گوشی‌های هوشمند نیز پیشرو باشد.

۴. Java FX: این پلت‌فرم، یک پلت‌فرم پیشرفته واسط گرافیکی کاربر است. به عنوان مثال، JavaFX Scene Builder، یک ابزار طراحی بصری است که کاربر می‌تواند به صورت بصری و بدون کد زدن، واسط‌های گرافیکی موردنظر خود را ایجاد کند. کاربران مولفه‌های واسط کاربری را از منو مولفه‌ها انتخاب می‌کنند و این مولفه‌ها، در فضای کاری نمایش داده می‌شود. سپس کاربر می‌تواند ویژگی‌های این مولفه‌ها را تغییر دهد یا فایل‌های css را برای تنظیم شمایل و استایل، به این مولفه‌ها اعمال کند.

برای زبان برنامه نویسی جاوا ، ابزارهای توسعه قدرتمندی مانند Eclipse و NetBeans دارد. شما به عنوان یک برنامه نویس ترجیح می‌دهید در یک محیط یکپارچه توسعه نرم افزار کد بزنید تا در ویرایشگرهای متنی مانند notepad. در نتیجه می‌توان گفت وجود این ابزارهای توسعه نقش مهمی در محبوبیت این زبان برنامه‌نویسی ایفا می‌کند.

استفاده از محیط‌های توسعه، کد زدن را راحت‌تر و سریع‌تر می‌کند. به عنوان مثال، در صورت وجود هر نوع خطای نحوی، این محیط‌ها به برنامه نویس اخطار می‌دهند که دستور اشتباه را تصحیح کنند و حتی پیشنهادهایی را هم به آنها ارائه می‌کنند. این محیط‌ها همچنین امکاناتی مانند جستجو، ساخت مجدد کد، خواندن کد و غیره را برای کاربر فراهم می‌کنند.

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

Java SE Runtime به شما اجازه می دهد تا برنامه هایی که با زبان برنامه نویسی جاوا نوشته شده اند را اجرا کنید. با نصب نرم افزار Java SE Runtime پلاگین موتور جاوا به برنامه های ویندوز و نیز مرورگر شما اضافه می گردد و پس از آن به راحتی می توانید برنامه هایی را که با استفاده از این زبان نوشته شده اند مانند نرم افزارهای چت و گفتگو و نیز سایت هایی را که با این زبان نوشته شده اند مانند سایت های بازی های آنلاین را مشاهده نمایید. نرم افزار Java SE Runtime مانند بسته Microsoft .NET Framework‌ برای برنامه های نوشته شده به زبان .NET‌ در ویندوز است.

Java Runtime Environment 10.0.2 / 8.0 Update 221 / 9.0.4 / Java Development Kit (JDK) 12.0.2 / 11.0.4 / 10 / 8.0 Update 201 / 9.0.4 / jPortable (Java Portable) 8 Update 101 + Mac + Linux نرم افزار جاوا برای ویندوز تقریبا اکثر نرم افزار ها بازی ها و … از زبان برنامه نویسی جاوا بهره برده است ، زبانی که به جرات می توان یکی از بهترین و راحت ترین زبان های برنامه نویسی نام برد . در گوشی همراه ، در پلیرهای بلوری و یا حتی در دستگاه های پزشکی از این زبان برنامه نویسی استفاده می شود . برای اجرای این کد ها نیاز به نرم افزاری دارید که این زبان برنامه نویسی را اجرا نمایید. در این مطلب از سایت یاس دانلود ، موتور مجازی جاوا نسخه های 7 و 8 را برای شما کاربران سیستم عامل ویندوز آماده کرده ایم.

امروزه بسیاری از نرم افزارهایی که با زبان جاوا نوشته و توسعه داده می شوند ، نیاز به مجازی ساز آن برای اجرا در کامپیوترهای دیگر دارند. به کمک جاوا ران تایم می توانید ارورهای مرتبط با این مشکل را برطرف کرده و به سادگی اقدام به اجرای این دسته از نرم افزارها کنید. Java Runtime Environment نرم افزاری است که این امکان را به شما می دهید . لازم به ذکر است که امکان دانلود به علت محدودیت از شرکت جاوا امکان دانلود آخرین نسخه را ندارید اما سایت یاس دانلود آخرین نسخه نرم افزار Java Runtime Environment JRE + Java Development Kit JDK را برای شما قرار داده است.

این زبان ساده، شی‌گرا و مشهور است.

مطمئن و بدون خطا می باشد.

وابسته به معماری کامپیوتر نبوده و قابل انتقال می باشد.

باید با کارایی بالا اجرا شود.

باید به صورت پویا و نخ‌کشی‌شده باشد.

جاوا برای نوشتن انواع برنامه‌های کاربردی مناسب است.

با جاوا می‌توان انواع برنامه‌های زیر را نوشت:

برنامه‌های تحت وب برنامه‌نویسی سیستم‌های کوچک مانند تلفن همراه، رایانه جیبی و … برنامه‌های کاربردی بزرگ (Enterprise) برنامه‌های رومیزی (Desktop)

قابلیت خاصی در جاوا وجود دارد به نام اپلت. اپلت‌ها امکانات فراوانی برای نوشتن برنامه‌های تحت وب در اختیار برنامه‌نویسان قرار می‌دهند. البته وجود ماشین مجازی جاوا برای اجرای اپلت لازم است. اپلت‌ها نظیر فناوری سیلورلایت شرکت مایکروسافت هستند که برنامه‌نویسان را قادر می‌سازد تا امکاناتی را به مرورگر کاربر بیفزایند. البته تفاوت این دو در امنیت می‌باشد به گونه‌ای که سیلورلایت به دلیل اینکه در محیطی به نام جعبه شنی (sandbox) اجرا می‌شوند امن هستند ولی اپلت‌ها فاقد چنین امنیتی هستند و به سادگی هدف حملات استاندارد Social Engineering Toolkit واقع می‌شوند.

سیستم‌عامل: تا سال ۲۰۰۴ net. تنها بر روی پلت فرم ویندوز اجرا می‌شد و برخی ویندوز را سیستم‌عامل غیرقابل اعتمادی در برنامه‌نویسی Enterprise می‌دانستند. ولی جاوا از این نظر انتخاب خوبی محسوب می‌شد. قابلیت حمل: جاوا بر روی سکوهای رایانش گوناگونی قابل اجرا است، از ATM و ماشین رختشویی گرفته تا سرورهای سولاریس با قابلیت پشتیبانی از ۱۰۲۴ پردازنده (CPU) برای پردازش.

نوشتن نرم افزار بر روی یک پلت فرم و اجرای عملی آن در هر پلت فرم های دیگر

ایجاد برنامه هایی برای اجرا در داخل یک مرورگر وب و خدمات وب

توسعه برنامه های سمت سرور برای انجمن های آنلاین، فروشگاه ها، نظر سنجی، پردازش فرم های HTML

ترکیب تکنولوژی جاوا مبتنی بر برنامه ها و یا خدمات برای ایجاد بسیار برنامه های کاربردی سفارشی و یا خدمات

نوشتن برنامه های کاربردی قدرتمند و کارآمد برای تلفن های همراه، پردازنده های از راه دور، محصولات مصرفی، کم هزینه

اضافه کردن پلاگین جاوا به مرورگرهای نصب شده مانند Internet Explorer و Firefox و Opera در سیستم شما برای مشاهده صفحات وب طراحی شده با زبان جاوا

اجرای برنامه های طراحی شده به زبان جاوا در ویندوز

دادن قابلیت کار به برنامه هایی که در طراحی آنها از جاوا بهره گرفته شده است.

اجرای برنامه های جاوا بر روی انواع پلتفرم ها

ایجاد برنامه ی اجرایی بر روی مرورگر و سیستم عامل

توسعه برنامه های سمت سرور مانند : انجمن ، نظرسنجی

ترکیب برنامه های کاربردی با تکنولوژی جاوا

نوشتن برنامه های قدرتمند و کارآمد برای تلفن همراه

Java Runtime Environment یا JRE جدیدترین نسخه موتور راه جاوا می باشد که با نصب آن می توانید برنامه ها و صفحات اینترنتی که به زبان جاوا نوشته شده است را در کامپیوتر اجرا نمایید ، با نصب این برنامه یا پلاگین موتور جاوا به ویندوز اضافه می شود و در کلیه مرورگرها و برنامه ها این پلاگین اضافه شده و مورد استفاده قرار می گیرد. به علت محدودیت از طرف سایت جاوا برای دانلود این برنامه آن را در بخش دانلود قرار دادیم. این نسخه جدید و نسبت به نسخه قدیمی از حجم کمتری برخوردار است و در ویندوز 10 نیز نصب می شود. متاسفانه به علت تحریم امکان دانلود جدیدترین موتور جاوا برای ایرانیان عزیز وجود ندارد, اما سایت پی سی دی جدیدترین نسخه را جهت دانلود برای شما آماده کرده است

به ابزارها و افزونه هایی که به اجرای کدهای جاوا در ویندوز کمک میکنند، در اصطلاح Java SE Runtime Environment و یا موتور جاوا گفته میشود. این ابزارها را میتوان با Net Framework. مقایسه کرد که به اجرای برنامه های دات نت کمک میکند. 

اگر برای ساخت یک نرم افزار یا برنامه تحت وب از جاوا استفاده شده باشد، برای اجرای آن در ویندوز لازم است که Java SE Runtime Environment در ویندوز شما نصب باشد. اگر Java در ویندوز شما نصب نشده باشد و بخواهید نرم افزاری که کد جاوا دارد را اجرا کنید، با خطای Java Runtime مواجه خواهید شد. به همین دلیل هم پلاگین جاوا جزو نرم افزارهای مورد نیاز ویندوز میباشد. 

البته کاربرد جاوا بسیار فراگیر تر است. بسیاری از سایت های اینترنتی دارای کدهای جاوا (جاوا اسکریپت) هستند و اگر شما افزونه ی جاوا را بر روی مرورگر خود نداشته باشید، هنگام مشاهده این سایت ها با خطا مواجه میشوید.   

ابزار Java SE Runtime Environment علاوه بر نصب و به روز رسانی جاوا در ویندوز، افزونه و پلاگین های لازم را در مرورگرهای اینترنت (مثل IE, Firefox, Chrome) نصب و آپدیت میکند.


مجوز نشر آموزش جامع جاوا Java:(وزارت ارشاد)

شماره مجوز ثبت شده اثر در وزارت ارشاد : بعد از أخذ شماره مجوز بهمراه تصویر در این قسمت وارد می شود.


ویژگی های زبان برنامه نویسی جاوا:

جاوا …


مزیت های آموزش جامع جاوا Java طهاکو:

تاپیک های این دوره آموزشی عبارتند از:

 

پس با طهاکو همراه شوید.

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

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

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

کیفیت فیلم

ضبط ویدیوهای آموزش جامع جاوا با کیفیت 720p صورت گرفته است و تمام 76 آموزش ویدیوی این دوره به تایید بخش کنترل کیفیت درآمده است.

کیفیت صدا

76 تراک صدای دوره جامع جاوا تماماً در استودیو وکال دپارتمان نشر دیجیتال طهاکو ضبط شده و کیفیت این تراک ها در تضمین صددرصد مدیریت بخش صدا رسیده است.

کیفیت محتوا

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

مهارت های پوشش داده شده در این دوره: مقدماتی، متوسط، پیشرفته و تخصصی
مدت زمان آموزش: 12 ساعت و 04 دقیقه و 15 ثانیه

فایل های پروژه دوره

بدلیل عدم موافقت مدیریت طهاکو به استفاده از نسخه کرک شده، با کمال احترام به شرکت JetBrains؛ لینک های دانلود سورس اصلی نرم افزار قرار داده نمی شود و در همین راستا دپارتمان در تهیه دوره آموزشی، سورس نرم افزار را از توسعه دهنده این نرم افزار درخواست کرده که بعد از موافقت سورس تأیید شده به سمت آزمایشگاه ضبط فیلم ارسال شد. پیشنهاد ما به کاربران مهمان ارسال درخواست به شرکت JetBrains جهت دریافت لایسنس دوساله دانشجویی برای استفاده مطمئن از این نرم افزار می باشد. فایل های تمرینی بعد از ورود به وبسایت طهاکو، در همین قسمت قابل رؤیت می شود؛ در صورتی که در طهاکو اکانت فعال ندارید، از منوی بالا وبسایت طهاکو اقدام به ثبت نام کنید.

دوره ها
درس ها
طهاکو من
0