یه بار برای همیشه، فرانت‌اندو اصولی یاد بگیر! یه بار برای همیشه، فرانت‌اندو اصولی یاد بگیر!
🎯 ثبت نام

آموزش جدید Java

برای ثبت نام در دوره آموزش Java می توانید از لنک موجود استفاده نمایید .


مقدمه ای بر زبان و بستر اجرای Java

پروژه ی زبان برنامه نویسی جاوا را توسعه دهنده ی مشهور James Gosling در شرکت Sun Microsystem برای اولین بار کلید زده و در سال 1995 آن را به عنوان مولفه ی اصلی بستر اجرای جاوا (Java 1.0 [J2SE]) از شرکت Sun Microsystems منتشر کرد (Java 1.0 [J2SE]).


آخرین ویرایش رسمی و پایدار جاوا، بستر اجرای جاوا ورژن 8 یا 8 Java Standard Edition می باشد. با پیشرفت زبان Java و محبوبیتی که بدست آورد، تنظیمات مختلفی صورت گرفت تا جاوا با انواع پلت فرم ها سازگاری داشته و برنامه های نوشته شده با آن در تمامی محیط ها قابل اجرا باشد. برای مثال می توان به J2EE برای پیاده سازی اپلیکیشن های تجاری و بزرگ، J2ME برای توسعه ی اپلیکیشن های کوچک و تحت موبایل اشاره کرد.


ورژن های جدید J2 هر یک به ترتیب تحت عنوان Java SEJava EE و Java ME نام گذاری شدند. آنچه باعث محبوبیت بالای Java شده، شعار "کد را یکبار بنویس و آن را در همه بسترها اجرا کن" می باشد.


از ویژگی ها و امکانات زبان جاوا می توان به موارد زیر اشاره کرد:


  • شی گرا یا Object Oriented – در آموزش Java همه چیز یک آبجکت است و از آنجایی که این زبان مبتنی بر مدل شی گرا/Object model می باشد، به راحتی می توان آن را گسترش داد.
  • مستقل از بستر اجرای خاص و قابل اجرا بر روی محیط های مختلف/platform independent – برخلاف بیشتر زبان های برنامه نویسی مانند C و C++، زبان جاوا پس از کامپایل، مستقیما به زبان قابل فهم برای ماشین تبدیل نمی شود بلکه کامپایلر دستورات جاوا را به یک زبان میانی مستقل از پلت فرم به نام byte code ترجمه می کند. این زبان میانی را سپس برنامه ای به نام دستگاه مجازی جاوا یا JVM که نسخه های مختلف آن برای پلت فرم های متفاوت طراحی و پیاده سازی شده، به زبان قابل فهم برای ماشین تفسیر می کند.
  • سادگی – Java طوری طراحی شده که یادگیری آن سهل باشد. پس از درک مفاهیم پایه ای شی گرایی و OOP، یادگیری باقی زبان بسیار آسان خواهد بود.
  • امن (Secure) – Java به توسعه دهنده این امکان را می دهد که یک برنامه ی کارا، عاری از ویروس، قابل اطمینان و امن برای تمامی سیستم ها پیاده سازی کند. برنامه های مبتنی بر آموزش Java برای سنج هویت و authentication از روش رمزنگاری کلید عمومی (public-key encryption) بهره می گیرند.
  • قابلیت اجرا بر روی پردازنده و محیط های مختلف به صورت یکسان/ Architecture-neutral- کامپایلر جاوا یک فایل حاوی آبجکت با فرمت خاص و architecture-neutral تولید می کند که برای کد کامپایل شده قابلیت اجرا بر روی پردازنده ی های مختلف و محیط های اجرایی مطرح را فراهم می آورد. این امکان با حضور سیستم زمان اجرای جاوا یا java runtime system در اختیار توسعه دهندگان برنامه ی جاوا قرار می گیرد.
  • Portable و قابلیت اجرا بر روی هر سخت افزاری که JVM سازگار و مربوطه را دارد – خروجی کامپایلر جاوا یک کد غیر قابل اجرا به نام Bytecode است. در صورت وجود JVM یا دستگاه مجازی جاوا سازگار با سخت افزار میزبان، Bytecode را سیستم زمان اجرای جاوا یا Java run-time system که خود توسط jvm فراخوانی می شود، اجرا می نماید. کامپایلر مورد استفاده ی Java با ANSI C نوشته شده و یک زیرمجموعه از POSIX می باشد.
  • Robust – Java سعی می کند با تاکید بر روی بررسی خطاها در زمان کامپایل و اجرا، شرایطی که ممکن است در آن خطاهای زیادی رخ دهد را از میان بردارد.
  • قابلیت پردازش موازی و انجام چند کار به صورت همزمان (multi-threaded) – با قابلیت پردازش موازی زبان جاوا، این امکان برای توسعه دهنده فراهم شده که برنامه هایی پیاده سازی کند که چندین کار و عملیات را همزمان انجام دهد. این ویژگی زبان Java به توسعه دهنده امکان می دهد تا اپلیکیشن های تعاملی با قابلیت اجرا و پاسخ گویی سریع بنویسد.
  • مفسری (Interpreted) – byte code که خروجی کامپایلر جاوا می باشد در حین اجرا به دستورات قابل فهم برای ماشین تبدیل می شود و این دستورات در حافظه ذخیره نمی شوند. فرایند توسعه بسیار سریع تر و تحلیلی خواهد بود چرا که پروسه ی linking (متصل کردن فایل ها فایل های اجرایی کوچک در قالب یک فایل اجرایی بزرگ واحد) افزایشی و سبک خواهد بود.
  • کارایی بالا/high performance – به کمک کامپایلرهایی که کدها را در لحظه و به صورت داینامیک (Just-In-Time) ترجمه می کنند، سرعت اجرای برنامه افزایش می یابد.
  • Distributed – قابلیت توسعه ی اپلیکیشن های تجاری، بزرگ و توزیع شده بر روی بستر وب و اینترنت را فراهم می آورد.
  • Dynamic (داینامیک و دارای قابلیت تفسیر کد بر اساس دستگاه میزبان در زمان اجرا) – Java در اصل نسبت به C و C++ از ویژگی پویایی بیشتری برخودار است چرا که برای تطبیق با محیطی در حال تکامل تعبیه شده است. برنامه های مبتنی بر Java مقدار زیادی اطلاعات زمان اجرا (run-time) را با خود حمل می کنند که این اطلاعات می توانند جهت بررسی صحت و برطرف کردن دسترسی به آبجکت ها در زمان اجرا بکار روند.

پیشینه ای از جاوا

James Gosling پروژه ی زبان برنامه نویسی Java را در ژوئن سال 1991 جهت استفاده در یکی از چندین پروژه ی گیرنده ی دیجیتال تلویزیون (set-top box) خود کلید زد. زبان مورد نظر که در ابتدای امر "Oak"، اسم درختی که در بیرون دفتر مخترع زبان قرار داشت، نام گذاری شده بود و گاهی "Green" نیز نامیده می شد، در نهایت با استخراج کلمه ای تصادفی از یک لیست به Java تغییر نام یافت.


شرکت Sun اولین پیاده سازی و ویرایش عمومی از Java را تحت عنوان Java 1.0 در سال 1995 منتشر کرد. این زبان با شعار "کد را یکبار بنویس و آن را در تمامی محیط ها اجرا کن" یا WORA و ارائه ی runtime های رایگان برای بسترهای اجرا (platform) مطرح، محبوبیت بسیاری کسب کرد.


در تاریخ 13 نوامبر سال 2006، شرکت نام برده عمده ی قابلیت ها و ابزار Java را به صورت یک نرم افزار رایگان و متن باز (open source) تحت لیسانس GPL در اختیار عموم قرار داد.


در 8 مه سال 2007 میلادی، شرکت Sun پروسه را به اتمام رسانده و کل هسته (core) جاوا را به استثنای بخش کوچکی از کد که Sun مجوز نشر آن را نداشت، به صورت رایگان و متن باز (open-source) در اختیار توسعه دهندگان علاقه مند قرار داد.



آموزش شی گرایی در Java

آموزش Java – کلاس Object در Java
آموزش Java – کلاس Object در Java

کلاس Object کلاس پدر تمامی کلاس ها در جاوا می باشد. به عبارت دیگر، بالاترین کلاس در سلسله مراتب وراثت کلاس Object است که تمامی کلاس های جاوا از آن مشتق می شوند.آموزش Java – کلاس Object در Java

7345 بازدید
ادامه
آموزش Java – clone کردن یک آبجکت یا ساخت نمونه ی عینی از آبجکت
آموزش Java – clone کردن یک آبجکت یا ساخت نمونه ی عینی از آبج ...

عبارت object cloning در برنامه نویسی به معنای ساخت یک نمونه ی عینی از روی آبجکت مورد نظر می باشد. در Java برای دستیابی به این هدف باید متد clone() از کلاس پایه ی Object فراخوانی شود.

6453 بازدید
ادامه
آموزش Java – کار با کلاس Wrapper در Java
آموزش Java – کار با کلاس Wrapper در Java

کلاس Wrapper در جاوا این امکان را به شما می دهد تا نوع آبجکت را به انواع داده ای اولیه (primitive) و انواع داده ای اولیه را به آبجکت تبدیل نمایید. نمونه هایی که از کلاس مزبور ساخته می شوند می توانند مقادیر از نوع داده ای مورد نظر را در خود کپسوله نمایند به همین علت بایستی به تابع سازنده ی (constructor) آن نوع صحیح را ارسال کنید.

6850 بازدید
ادامه
آموزش Java – توابع بازگشتی (Recursion) در Java
آموزش Java – توابع بازگشتی (Recursion) در Java

Recursion یا الگوریتم بازگشتی زمانی اتفاق می افتد که یک متد خود را به کرات صدا بزند. به متدی که خود را فراخوانی می کند، در اصطلاح تابع recursive یا بازگشتی گویند.

9530 بازدید
ادامه
آموزش Java – فراخوانی تابع به روش call by value و فراخوانی تابع به وسیله ی call by reference در Java
آموزش Java – فراخوانی تابع به روش call by value و فراخوانی ت ...

در Java آرگومان ها به صورت پیش فرض به روش (ارسال کپی از مقدار به عنوان آرگومان) call by value به تابع ارسال می شوند نه با call by reference که طی آن آدرس متغیر در حافظه ی heap به عنوان آرگومان به تابع فرستاده می شود و تغییر در مقدار آرگومان تغییر در مقدار اصلی متغیر را به دنبال دارد. در روش call by value که صرفا کپی از مقدار متغیر به عنوان آرگومان به تابع فرستاده می شود،

7505 بازدید
ادامه
آموزش Java – کار با کلیدواژه ی strictfp در Java
آموزش Java – کار با کلیدواژه ی strictfp در Java

توسعه دهنده می تواند با استفاده از کلیدواژه ی strictfp مطمئن شود هر گونه عملیاتی که بر روی مقدار متغیر از نوع ممیز شناور (floating-point) انجام می شود، در تمامی بسترهای اجرا (platform) نتیجه ی یکسان را برمی گرداند. در واقع دقت و تعداد اعداد (precision) در مقادیر خروجی ممیز شناور ممکن است در بسترهای (platform) مختلف متفاوت باشد.

3120 بازدید
ادامه
آموزش Java – تعریف Documentation API (توابع مستندسازی) و استفاده از ابزار javadoc در  Java
آموزش Java – تعریف Documentation API (توابع مستندسازی) و است ...

می توان به کمک ابزار javadoc توابعی کتابخانه ای جهت مستندنویسی و توضیح کدبرنامه ی خود تعریف کرد. برای توضیح کد خود در فایل های جاوا کافی است متن توضیح کد را داخل کاراکترهای /**... */ قرار دهید. با این روش می توانید به راحتی برای کامپوننت های مختلف کد و برنامه ی خود نظیر کلاس، متد، constructor (تابع سازنده)، فیلدها و متغیرها را کامنت درج نمایید.

3607 بازدید
ادامه
آموزش Java – ارسال پارامتر از خط فرمان (command line arguments) به برنامه در Java
آموزش Java – ارسال پارامتر از خط فرمان (command line argumen ...

آرگومان های خط فرمان، آرگومان هایی هستند که توسعه دهنده آن ها را از پنجره ی فرمان (cmd) به تابع main جاوا(Java) ارسال کرده و این پارامتر ها در زمان اجرای برنامه ی java در پارامترهای ورودی تابع مزبور،(String args[])، می شوند.

4926 بازدید
ادامه
آموزش Java – شرح تفاوت بین کلاس و آبجکت در Java
آموزش Java – شرح تفاوت بین کلاس و آبجکت در Java

تفاوت های زیادی بین آبجکت و کلاس در Java وجود دارد که در این بخش از آموزش Java به آن ها اشاره می کنیم.

5200 بازدید
ادامه
آموزش java – شرح تفاوت بین overloading و overriding در Java
آموزش java – شرح تفاوت بین overloading و overriding در Java

تفاوت های زیادی بین (بازنویسی بدنه ی متد در کلاس فرزند) method overriding و (فراخوانی متدی با نام یکسان اما هر بار با پارامترهای مختلف) method overloading در Java وجود دارد که در جدول زیر آن ها را برای شما لیست می کنیم.

6762 بازدید
ادامه