کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش جدید 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) در اختیار توسعه دهندگان علاقه مند قرار داد.



آموزش ورودی و خروجی (Input و Output) در Java

آموزش Java – I/O و عملیات ورودی و خروجی در Java
آموزش Java – I/O و عملیات ورودی و خروجی در Java

Java با بهره گیری از مفهومی به نام stream (دنباله ای از داده ها با فرمت های مختلف برای مثال 8 بیتی/1 بایتی است که از منبعی خوانده شده یا در آن درج می شود) عملیات i/o را تسریع می بخشد. کلاس ها و توابع لازم برای پردازش ورودی و تولید خروجی در جاوا داخل پکیج java.io تعبیه شده است.

7271 بازدید
ادامه
آموزش Java – کار با کلاس FileOutputStream در I/O Java
آموزش Java – کار با کلاس FileOutputStream در I/O Java

FileOutputStream در جاوا یک کلاس مشتق شده از کلاس انتزاعی OutputStream است که برای ایجاد دنباله ای از بایت های خروجی (output stream) و مشخص کردن یک فایل مقصد که داده ها در آن درج می شوند بکار می رود. به عبارت ساده تر بایت های خروجی را در فایل می نویسد.

4159 بازدید
ادامه
آموزش Java - کلاس FileInputStream در Java
آموزش Java - کلاس FileInputStream در Java

کلاس FileInputStream بایت هایی ورودی را از یک فایل خوانده و بازیابی می کند. نمونه ی این کلاس قادر است یک جریان ورودی تعریف کرده و یک فایل به عنوان منبع این جریان تنظیم و ایجاد کند. از کلاس FileInputStream برای خواندن داده های مبتنی بر بایت (دنباله ای از بایت های خام) نظیر اطلاعات تصویری، صوتی، ویدئو و غیره ... استفاده می شود.

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

کلاس BufferedOutputStream برای قرار دادن دنباله ای از بایت های خروجی (output stream) از دیسک در حافظه واسط و به اصطلاح بافر کردن محتوا بکار می رود. این کلاس همان طور که از اسم آن پیدا است از buffer برای ذخیره ی موقت داده ها از دیسک استفاده می کند.

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

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

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

کلاس SequenceInputStream در جاوا جهت خواندن داده از چندین input stream (برای مثال چند فایل ورودی) که در قالب یک sequence واحد به ترتیب به یکدیگر متصل شده اند، بکار می رود. این کلاس داده ها را به صورت متوالی و یکی پس از دیگری از input stream های متصل شده به هم می خواند.

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

کلاس ByteArrayOutputStream در جاوا برای درج داده های مشترک در چند فایل بکار می رود. output stream ای که این کلاس پیاده سازی می کند، داده ها را داخل آرایه ای از بایت ها (byte stream) قرار داده و سپس می تواند این داده ها را در چندین stream، برای مثال فایل خروجی، به صورت ثابت درج کند.

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

اسم کلاس ByteArrayInputStream از دو کلمه تشکیل شده است: ByteArray و InputStream. همان طور که از اسم آن پیدا است، می توان با استفاده از آن آرایه ای از بایت ها ورودی (input stream) را خواند. کلاس ByteArrayInputStream داری یک حافظه ی buffer داخلی است که به وسیله آن می توان آرایه ای از بایت های ورودی را به صورت stream خواند.

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

کلاس DataOutStream این امکان را برای اپلیکیشن فراهم می کند تا داده هایی از نوع اولیه (primitive) را در جریان خروجی (output stream) به روشی کاملا مستقل از ماشین و قابل اجرا (استفاده) در بسترهای مختلف درج کند. به عبارت دیگر این کلاس داده هایی از نوع اولیه را به متغیرهای قابل استفاده در انواع output stream ها که از بستر اجرا و platform مستقل هستند تبدیل می نماید.

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

کلاس DataInputStream این امکان را برای اپلیکیشن فراهم می کند تا داده هایی از نوع اولیه (primitive) را از input stream (برای مثال فایل ورودی) به صورت کاملا مستقل از ماشین (قابل فهم و اجرا بر روی بسترهای مختلف و مستقل از platform) بخواند.

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

کلاس FilterOutputStream پدر تمامی کلاس هایی است که جریان های خروجی (output stream) را فیلتر می کنند. این جریان های بایتی (output stream) بر روی یک output stream از قبل موجود قرار داشته و از آن به عنوان بستر پایه ای دریافت اطلاعات (data sink) استفاده می کنند. لازم به ذکر است که داده ها در طول مسیر ممکن است تبدیل شده یا قابلیت های جدیدی اضافه گردد.

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

کلاس FilterInputStream خود میزبان inputstream های دیگر بوده، از آن ها به عنوان منبع داده ای اصلی خود استفاده می کند و این احتمال وجود دارد که داده ها را در طول مسیر تبدیل کرده (تغییر شکل دهد) یا قابلیت های جدید اضافه کند.

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

کلاس Console قابلیت این را دارد که از console ورودی دریافت کرده و در آن خروجی چاپ کند. این کلاس تعدادی متد جهت خواندن متن و گذرواژه (password) در اختیار توسعه دهنده قرار می دهد. در Java

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

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

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

کلاس Writer یک کلاس abstract برای درج داده در character stream و دنباله ای از کاراکترها است. این کلاس را کلاس های دیگر به ارث برده و متدهای write(char[], int, int)، flush() و close() از این کلاس abstract را در خود پیاده سازی می کنند. بیشتر کلاس هایی که از Writer ارث بری دارند، متدهای آن را جهت افزایش کارایی و افزودن قابلیت مضاعف در سطح خود بازنویسی (override) می کنند.

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

کلاس Reader یک کلاس abstract است که برای خواندن دنباله ای از کاراکترها/character stream بکار می رود. کلاس هایی که از این کلاس ارث بری دارند فقط باید دو متد read(char[], int, int) و close() را پیاده سازی می کنند.آموزش Java

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

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

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

توسعه دهنده به وسیله ی کلاس FileReader قادر خواهد بود داده های مبتنی بر کاراکتر را از فایل مورد نظر بخواند. نمونه ی این کلاس داده ها را در قالب دنباله ای از بایت ها مانند FileInputStream در خروجی برمی گرداند. آموزش Java

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

کلاس BufferedWriter به آبجکت های ساخته شده از روی کلاس Writer این امکان را می دهد که داده های خود را در حافظه واسط یا buffer ذخیره کرده و در اصطلاح از قابلیت buffering در عملیات ورودی پشتیبانی کند. آموزش Java

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

کلاس BufferedReader برای خواندن متن از یک input stream مبتنی بر کاراکتر بکار می رود. توسعه دهنده می تواند با فراخوانی متد readline() از این کلاس محتوای فایل مورد نظر را خط به خط بخواند. این کلاس به سبب استفاده از buffer، سرعت و کارایی اپلیکیشن را افزایش می دهد.آموزش Java

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

اسم کلاس CharArrayReader از دو واژه ی CharArray و Reader تشکیل شده است. همان طور که از اسم آن پیدا است، این کلاس به توسعه این امکان را می دهد تا آرایه ای از کاراکترها را به صورت stream یا دنباله ای از داده های ورودی بخواند. CharArrayReader نیز از کلاس Reader مشتق می شود.

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

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

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

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

4277 بازدید
ادامه