Java Tips

طراحی و توسعه نرم افزار با زبان Java

Java Tips

طراحی و توسعه نرم افزار با زبان Java

Java Tips

اشتراک دانش و تجربه و یادگیری مستمر

وبلاگ مهندس نرم افزار

طبقه بندی موضوعی
بایگانی
نویسندگان

۱۳ مطلب در اسفند ۱۳۹۵ ثبت شده است

لازم است در ابتدای کار گفته شود که جاوا زبانی است که نوع داده در آن به شدت کنترل می شود(Type-Safety است), در واقع بخشی از امنیت و استحکام جاوا از این امر ناشی می شود.

متغیر: متغیر واحد پایه ذخیره سازی در برنامه نویسی است. هر متغیر بوسیله ترکیبی از شناسه, نوع, مقدار اولیه(دلخواه) تعریف می شود. زمانیکه یک متغیر ایجاد می کنیم یک قسمت از فضای RAM به این متغیر اختصاص می یابد.

متغیر ها در جاوا در دو نوع هستند:

 1. Primitive Data Type

 2. Reference/Object Data Type

  • Primitive Data Type ها مقادیر پایه را نگهداری می کنند مانند: int, char, float, short, byte, Boolean, Double, long .
  • Reference/Object Data Type ها آدرس ارجاع به Object ها(اشاره گر به یک شیء که در حقیقت همان آدرس متغیر در RAM است) را نگهداری میکنند.

نحو کلی تعریف متغیر :

Type identifier [= value];

int temp = 88;

مثال: 

تعریف متغیر شامل دو مرحله است: 

  • مرحله Declaration (اعلان) : 

  • مرحله Creation(ایجاد) :

در حقیقت Type نام یک کلاس است و identifier نام متغیر شما است.

متغیر ها یا Single Value هستند مانند int, char, float, short, byte, Boolean, Double, long که همان نوع داده پایه یا Primitive Variable هستند و یا Multiple Value هستند مانند Collection, Class, Array که اسم دیگر آنها Reference Variable می باشد.

داده پایه(Primitive Variable) : متغیر های تعریف شده از این نوع از Stack(یک حافظه کوچک از RAM و CPU که فضای کم ولی سرعت بالا دارد)  فضای حافظه می گیرند. در عمل انتساب

۰ نظر موافقین ۰ مخالفین ۰ ۰۶ اسفند ۹۵ ، ۲۱:۰۲
مهندس نرم افزار

زمانیکه ما یک برنامه جاوا را مطرح می کنیم, آن می تواند در یک مجموعه از شیء ها تعریف شده باشد که از طریق فراخوانی یکدیگر با  هم  ارتباط دارند. حال  اجازه بدهید  به طور خلاصه  نگاهی  کنیم  به  اینکه  معنی class, object, methods  و      instance variables چیست ؟

* Object : هر شیء ای حالت(State) و رفتاری(Behavior) دارد. به عنوان مثال, یک سگ حالت هایی از قبیل رنگ, نام, قد, سن و ... دارد و رفتارهایی از قبیل خوردن, دویدن, پارس کردن دارد. یک شیء (Object) , یک نمونه(Instance) از کلاس است.

* Class : کلاس می تواند تعریف شده باشد به عنوان یک قالب که توصیف می کند حالات(States) و رفتارهای(Behaviors)  یک شیء از نوع خودش را.

* Method : یک متد(یا یک تابع) اساسا یک رفتار است. یک کلاس می تواند تعداد زیادی متد داشته باشد. متد جایی است که الگوریتم و منطق تجاری نوشته می شود, داده دستکاری می شود و همه اعمال اجرا می گردد.

* Instance Variable : هر شیء ای متغیر های نمونه(Instance Variable) یا همان فیلد های مخصوص و یکتای خود را دارد. یک State شیء ایجاد می شود بوسیله مقادیری که اختصاص داده شده به این Instance Variable ها.

خوب! حال اولین برنامه Hello World خود را می نویسیم:

اکنون این قطعه کد را در یک فایل text نوشته و کامپایل و اجرا می کنیم:

-          برنامه Notepad را باز کرده و قطعه کد بالا را در آن کپی کنید.

-          فایل را با نام MyFirstJavaProgram و پسوند .java ذخیره کنید(MyFirstJavaProgram.java).

-          پنجره Command Prompt ویندوز را باز کرده و به مسیری که فایل جاوا را ذخیره کرده اید بروید.

-          دستور javac MyFirstJavaProgram.java را تایپ کرده و کلید Enter را بزنید تا کد کامپایل شود.

-          حال دستور java MyFirstJavaProgram را وارد نمایید تا برنامه اجرا شود.

-          خروجی :

 

نحو(Syntax) عمومی جاوا بصورت زیر می باشد :

  • Case Sensitive : جاوا به حروف بزرگ و کوچک حساس است؛ یعنی identifier کلمه Hello با hello متفاوت می باشد.
  • Class Name : حرف اول کلاس ها باید با حرف بزرگ(Upper Case) شروع شود.
  • Method Name : همه اسم متد ها باید با حرف کوچک(Lower Case) شروع شود.
  • Program File Name : نام Program File باید با نام کلاس یکی باشد.

 

شناسه های جاوا(identifier java)

همه کامپوننت های جاوا به نام احتیاج دارند. نام هایی که برای کلاس ها, متغیر ها و متد ها استفاده می شوند, identifier(شناسه) نامیده می شوند. در اینجا چند نکته حائز اهمیت است :

  • حرف اول همه identifier ها باید حروف(A تا Z یا a  تا z), کاراکتر $ یا کاراکتر underscore ( _ )  باشد.
  • بعد از حرف اول, identifier ها می توانند ترکیبی از کاراکتر ها را داشته باشند.
  • Keyword ها نمی توانند بعنوان identifier استفاده شوند.
  • Identifier های مهم, Case Sensitive هستند.
  • نمونه identifier صحیح :  age, $salary, _value, __1_value
  • نمونه identifier نادرست : 123abc, -salary

 

تعیین کننده های سطح دسترسی در جاوا (Java Modifier)

مانند دیگر زبان های برنامه نویسی می توان سطح دسترسی کلاس ها و

۰ نظر موافقین ۰ مخالفین ۰ ۰۶ اسفند ۹۵ ، ۲۰:۲۹
مهندس نرم افزار

جاوا در یک نگاه

جاوا  یک زبان برنامه نویسی شیء گرا و سطح بالا(High Level) است که نخستین بار توسط جیمز گاسلینگ در سال 1995 در شرکت سان مایکروسیستمز ایجاد و بعنوان بخشی از سکوی جاوا(Java Platforms) منتشر گردید. شرکت Sun Microsystems در سال 2010 توسط شرکت اوراکل خریداری گردید.

James Gosling

 

پس از فروش این شرکت به اوراکل گاسلینگ شرکت را ترک کرد و تبدیل به یکی از بزرگترین منتقدان اوراکل شد. پس از آن برای یک دوره کوتاه ۵ ماهه به گوگل پیوست و در حال حاضر نیز در استارت آپ Liquid Robotics‌ مشغول به کار است.

این زبان بوسیله زبان C++ پیاده سازی گردید. زبان جاوا شبیه به C++  است اما مدل شیء گرایی آسانتری نسبت به آن دارد و از قابلیت های سطح پایین کمتری پشتیبانی می کند. یکی از قابلیت‌های بنیادین جاوا این است که مدیریت حافظه را بطور خودکار انجام می‌دهد(توسط GC(Garbage Collector) انجام می شود) و در اصطلاح یک زبان برنامه نویسی Managed می باشد.

در حقیقت عمل Garbage Collection(زباله روبی) نوعی مدیریت منابع بصورت خودکار است. این روش خاصی برای مدیریت منابع است که منابع محدود از قبیل حافظه RAM و ... در آن مدیریت می‌شوند. تکنیک زباله‌روبی توسط جان مک‌کارتی در حدود سال ۱۹۵8 برای حل مشکلات Lisp اختراع شده‌ است. این تکنیک مشکل تنظیم دستی حافظه RAM را حل می کند زیرا در تنظیم دستی حافظه, برنامه نویس باید مشخص کند که کدام اشیاء(Object ها) و در چه زمانی, باید حافظه را بازپس دهند(حافظه را آزاد کنند). به عبارت دیگر, Garbage Collector به طور اتوماتیک آن Object ها را تخریب(Dispose و یا Destroy) می کند.

ضریب اطمینان عملکرد برنامه‌های نوشته‌ شده به این زبان بالا است و وابسته به سیستم عامل خاصی نیست(اصطلاحا, جاوا      Cross-Platform است)، به عبارت دیگر می‌توان آن را روی هر رایانه با هر نوع سیستم عاملی اجرا کرد.

پلتفرم(سکوی) جاوا به مجموعه‌ای از محصولات نرم‌افزاری و مشخصه‌ها از شرکت سان مایکروسیستمز، یک زیر مجموعه از شرکت اوراکل ، اطلاق می‌شود که به منظور ایجاد محیطی برای نوشتن نرم ‌افزار هایی که به صورت چند سکویی(Cross-Platform) اجرا می‌شوند به کار می‌رود. جاوا در محدوده وسیعی از کاربردها، مورد استفاده قرار می گیرد. کاربردهایی که محدوده ی وسیعی از سکوهای محاسباتی(Computing Platforms)، سامانه های توکار(Embedded Devices)، تلفن های همراه(Mobile Devices) که کاربردهایی در دستگاه‌های معمولی هستند تا دستگاه هایی از قبیل ابر رایانه ها(Super Computers) و سرورهای سازمانی                        (Enterprise Servers) و Main Frame ها را شامل می شود.

در ۱۳ نوامبر سال ۲۰۰۶(۲۲ آبان ۱۳۸۵)، شرکت سان مایکروسیستمز بخش عظیمی از جاوا را تحت پروانه عمومی همگانی گنو (GNU GPL) منتشر نمود. اگرچه بخش هایی از جاوا، هرچند اندک، هنوز به دلیل مسایل کپی رایت با مجوز سان و به صورت بایناری(کد هایی از پیش کامپایل شده)، منتشر گردید؛ چرا که این بخش‌ها متعلق به شرکت سان نیست. برای کسب اطلاعات بیشتر در مورد مجوز های نرم افزار های سورس باز می توانید به لینک زیر مراجعه نمائید:

Comparison of free and open-source software licenses 

  1. سیستم‌عامل:  هر چقدر زبانهای  .NET قوی باشند تنها بر روی پلت فرم ویندوز اجرا می‌شوند و برخی ویندوز را سیستم عامل غیرقابل اعتمادی در برنامه نویسی Enterprise می‌دانند. ولی جاوا از این نظر انتخاب خوبی است.
  2. قابلیت حمل:  جاوا بر روی سکوهای رایانش گوناگونی قابل اجرا است، از  ATM  و   ماشین رختشویی گرفته تا سرورهای سولاریس با قابلیت پشتیبانی از 1024 عدد CPU  برای پردازش.
  3. جاوا بیشتر از یک زبان است:  جاوا فقط یک زبان نیست و انجمن‌هایی متشکل از بزرگان صنایع و برنامه‌نویسان زیادی مشغول به توسعه و ایجاد استانداردهای جدید و به روز هستند.

جاوا، متبادر کننده مفهومی خاص است :  یکبار بنویس، همه‌جا اجرا کن(Write Once, Run Anywhere). این مفهوم توسط JVM(Java Virtual Machine)، پیاده‌سازی شده است.  JVM، محیطی برای اجرای برنامه‌های نوشته شده به زبان جاوا می‌باشد. این ماشین مجازی, نرم‌افزاری است که در لایه  بالایی سخت‌افزار واقعی و سیستم عامل قرار می‌گیرد.

به زبان ساده وقتی یک برنامه به زبان جاوا را می نویسید و کامپایل می کنید بلافاصله کد محلی(Native Code) یا همان کد ماشین تولید نمی شود, کامپایلر کد های شما را به ByteCode تبدیل می کند. در مرحله بعدی کامپایلر JIT(Just-In-Time) که در ماشین مجازی جاوا(JVM)  است این بایت کد را به کد محلی یا همان کد ماشین تبدیل می کند که این کد ماشین همان دستور العمل هایی هستند که مستقیما توسط CPU و سیستم عامل قابل اجرا هستند.

در گذشته برای اینکه بتوانید برنامه های خود را در سیستم عامل های مختلف

۰ نظر موافقین ۰ مخالفین ۰ ۰۶ اسفند ۹۵ ، ۱۹:۴۳
مهندس نرم افزار