نمایش نتایج: از شماره 1 تا 6 , از مجموع 6

موضوع: جاوا - يك بار بنويس همه جا اجرا كن

  1. #1
    کاربرسایت ارسطو آواتار ها
    تاریخ عضویت
    ۸۶-۰۸-۲۳
    نوشته ها
    991
    سپاس ها
    0
    سپاس شده 3 در 3 پست

    جاوا - يك بار بنويس همه جا اجرا كن

    از عنوان پيداست كه مي خوام در چه موردي صحبت كنم. از شعار برنامه نويسهاي جاوا شروع ميكنم. برنامه نويسهاي جاوا مي گن :
    WORA - Write once, Run Anywhere
    يعني همون چيري كه تو عنوان نوشتم: يكبار بنويس همه جا اجرا كن.
    جاوا به دليل استفاده ار يك ماشين مجازي(Virtual Machin) و تكنيكي كه در اين زبان استفاده كرده اند(Java) مي تونه مستقل از پلتفرم باشه و فقط يكبار مي نويسين و اونو رو ويندوز يا لينوكس يا هر پلتفرم ديگه اي كه اين ماشين رو داره مي تونين اجرا كنين يعني تحقق همين شعار.
    قصد دارم تا در يك سلسله از مطالبي كه براتون مي نويسم(خدا بخواهد و مشغله منم اجازه بده) جاوا رو براتون معرفي و قدرتشو براتون بيان كنم تا اگه دوست داشتين به اون رو بيارين.
    اميدوارم تو اين راه مديريت انجمنم كمكم كنه مثلا يه ساب انجمن به نام جاوا در اختيار ما بذاره البته اول ما بايد برادريمنو ثابت كنيم يعني چندتا پست داشته باشيم .

    امروز مي خوام يه كم از اول اول شروع كنم يعني ببينيم كه چي شد كه جاوا شد. اصلا قصه از كجا شروع شد.

    اون قديما وقتي يه مشتري مي خواست يه سيستم نرم افزاري رو خريداري كنه بايد از بين شركتهايي كه وجود داشت يكي رو انتخاب مي كردمثلا IBM رو . وقتي اين اتفاق مي افتاد بقيه شركتها اون مشتري رو واسه هميشه از دست مي دادن و اون مشتري هم محدود مي شد به اين صورت كه تا اخره عمرش مجبور بود از راه حل هاي(Solution) IBM استفاده كنه كه اين واسه مشتري خيلي بد بود چون ممكن بود مشتري بخواد يك راه حل ديگه اي رو از يك شركت ديگه بخره(به هر دليلي ممكن بود رخ بده مثلا راه حل يك شركت خيلي بهتر باشه ) و به سيستمش اضافه كنه اما در واقع اين امكان وجود نداشت. اين گونه مسايل و خيلي از مشكلات ديگه اي كه وجود داشت و از حوصله بحث ما خارجه باعث شد كه شركتها را وادار كنه تا راه حلي براي اين مشكل بوجود بيارن. از اين زمان به بعد بود كه پايه هاي )JCP(The Java Community Process بنا نهاده بشه.
    حالاJCP چيه تو يه خط براتون ميگم . JCP يه بنياد، بالغ بر 750 عضو اعم از بزرگترين شركتهاي نرم افزاري دنيا مثل IBM، Oracle و ... حتي Nokiaست، كه وظيفه استانداردسازي تمام تكنولوژي هاي مربوط به جاوا رو داره.
    اين بنياد تمام تكنولوژي هاي مربوط يه جاوا رو به صورت استانداردهايي (Specification) تعريف مي كنه و تمام شركتها از اين استانداردها براي پباده سازي محصولاتشون استفاده مي كنن. حالا با اين وضعيت شما به عنوان مشتري مي توني از تمام شركتها خريد بكني و اين محصولات رو كنار هم بذاري و به صورت يه سيستم كامل و واحد ازش استفاده بكني و شركتها هم ديگه اين اميد رو دارن كه با ارائه يك پياده سازي خوب از يك استاندارد بتونن بازار رو بگيرن و اين باعث ايجاد يك بازار رقابتي سالم و افزايش كيفيت محصولات شد.حالا ديگه هر دو طرف برنده اند.
    اين جوري شد كه جاوا به اين شكل فعلي در اومد و امروزه هم شاهديم كه استفاده از جاوا داره فراگيرتر ميشه و در اكثر زمينه ها مي تونين اونو مشاهده كنين. اين فايل( EveryWhere ) در واقع زمينه هاي استفاده از جاوا رو نشون ميده كه با مطالعه اون به نطرم تا مقداري متوجه بزرگي اين زبان و محدوده وسيع استفاده از اون خواهيد شد.
    در پست بدي كمي راجع به نرم افزارهاي Enterprise با هم حرف مي زنيم تا بتونيم به بك فهمه هماهنگ از اين گونه نرم افزارها داشته باشيم.

  2. #2
    کاربرسایت ارسطو آواتار ها
    تاریخ عضویت
    ۸۶-۰۸-۲۳
    نوشته ها
    991
    سپاس ها
    0
    سپاس شده 3 در 3 پست

    پاسخ : جاوا - يك بار بنويس همه جا اجرا كن

    قرارمون اين بود كه در مورد نرم افزارهاي Enterprise صحبت كنيم. ابتدا ببينيم كه واژه Enterprise در لغت به چه معنيه.
    اين واژه شامل سه معني زيره:
    1- سازمان
    2- امرخطير يا اقدام مهم
    3- بنگاه اقتصادي
    واژه سازمان دلالت بر مقياس بزرگ و پيچيده داره و شما تو هر زمينه، اگه از كلمه سازمان استفاده كنين همين مفهوم رو تو ذهن شنونده ايجاد مي كنه. امر خطير هم همونجور كه مشخصه نشاندهنده حساسيت و اهميت موضوعه. از واژه بنگاه اقتصادي هم حياتي و بحراني بودن موضوع برداشت ميشه.
    خوب تا اينجا ديدم كه اين كلمه (Enterprise) در كل نشون دهنده موضوع مهم تو زمينه بحثه. اين كلمه، خاص استفاده در دنياي نرم افزار نيست و تركيبات مختلفي از اين كلمه در علوم مختلف مورد استفاده قرار ميگيره ولي فوكوس ما روي تركيب Enterprise Software كه به رده اي خاص از نرم افزارها گفته ميشه كه در ادامه متوجه خواهيد شد. بر اساس معني كه در دايره المعارف ويكي پديا براي اين واژه ابزار شده نرم افزار سازماني نرم افزاري است كه به حل مسائل سازماني مي پردازد نه مسائل بخشي.
    حال تقريبا با مفهوم واژه اي نرم افزار سازماني(Enterprise Software) آشنا شديم اما سوالي كه ممكنه به ذهنتون خطور كنه اينه كه به چه نرم افزاري، نرم افزار سازماني ميگن يا بهتر بگم يك نرم افزار سازماني بايد چه ويژگي هاي داشته باشه؟
    يك نرم افزارسازماني بايد داراي سطح بالايي از مقياس پذير بودن، در دسترس بودن، قابليت اطمينان و پايداري، امنيت، تراكنش ها و توزيع پذيري باشد كه در آينده به تفضيل در اين باره صحبت مي كنيم. براي نمونه چند نوع از نرم افزارهاي سازماني در ليست زير نام برده شده تا بهتر بتونين اين نرم افزارها رو از بقيه جدا كنين.

    Enterprise Resource Planning (ERP)
    E-Commerce
    E-Banking
    Military Defense Information System
    National Health Information System
    National Air Traffic Control

    تصوير زير رو ملاحظه كنيد.


    همونجور كه ديد اين گونه از نرم افزارها مجموعه وسيعي از كاربران رو دارند يعني به يك نوع خاصي از مشتري ها بستگي نداره و همچنين در سمت سرور هم ما مجموعه وسيعي از انواع سرورها رو داريم و همه اين مجموعه ها تحت يك سيستم به صورت خوب وموثر در حال تبادل اطلاعات و سرويس دهي به مشتريان مي باشند.
    خوب اميدوارم كه تا اينجا از اين پست بهره لازم رو برده باشين . در پست بدي ويژگي نرم افزارهاي سازماني رو با جزئيات بيشتري بررسي مي كنيم.



    منبع: مينوسافت

  3. #3
    کاربرسایت ارسطو آواتار ها
    تاریخ عضویت
    ۸۶-۰۸-۲۳
    نوشته ها
    991
    سپاس ها
    0
    سپاس شده 3 در 3 پست

    پاسخ : جاوا - يك بار بنويس همه جا اجرا كن

    در پست پيشين معني واژه Enterprise به تفضيل مورد بررسي قرار گرفت. در ادامه به بررسي ويژگي هاي يك نرم افزار مي پردازيم.
    ويژگي نرم افزارهاي سازماني :
    1-بسيار مقياس پذير
    2-بسيار در دسترس
    3-بسيار قابل اطمينان و پايدار
    4-بسيار ايمن
    5-تراكنشي
    6-توزيع شده

    ارائه تعاريفي جداگانه براي موارد بالا :

    بسيار مقياس پذير:
    نرم افزاري را مقياس پذير گويند كه داراي سه ويژگي زير باشد.
    1-بتوان به راحتي تعداد كاربران آنرا افزايش داد.
    2-بتوان به راحتي تعداد سرورهاي آنرا افزايش داد.
    3-بتوان به راحتي نوع سرورها را عوض كرد.

    بسيار در دسترس:
    به اين معني مي باشد كه اين نرم افزار در 24 ساعت شبانه روز و 7 روز هفته در حال سرويس دهي به مشتريان باشد در اصطلاح 7* 24 باشد. در اين سري از نرم افزارها ما فرصتي براي متوقف كردن نرم افزار براي تهيه نسخه پشتيبان، ارتقاء، نصب برنامه و ... نداريم همچنين در صورت بروز مشكلات فني بايد اقدامات مناسبي پيش بيني شده باشد.

    بسیار قابل اطمینان و پایدار :
    ﻧﺮم اﻓﺰار ﻧﺒﺎﻳﺪ ‪ Hang‬و ﻳﺎ ‪ Crash‬ﻛﻨﺪ.‬ ﺑﺎﻳﺪ در ﻣﻘﺎﺑﻞ ﻛﺪ ﻫﺎي ﺧﺮاب ﻣﻘﺎوم ﺑﺎﺷﺪ. ﻧﺒﺎﻳﺪ در ﺑﺎر ﺳﻨﮕﻴﻦ دﭼﺎر ﻣﺸﻜﻞ ﺷﻮد.‬ در واقع باید ساختاری ذاشته باشد که بتوان از بروز این چنین مواردی جلوگیری کرد.

    بسیار ایمن:
    باید ویژگی های زیر را داشته باشد
    ‫اﻳﻤﻨﻲ در ﻧﮕﻬﺪاري داده ﻫﺎ‬
    ‫اﻳﻤﻨﻲ در اﻧﺘﻘﺎل داده ﻫﺎ‬
    ‫اﺳﺘﻔﺎده از ﻣﻮﻟﻔﻪ ﻫﺎي اﻣﻀﺎ ﺷﺪه و ﻣﻮرد ﺗﺎﻳﻴﺪ‬
    ‫اﻳﻤﻨﻲ در اﻫﺮاز ﻫﻮﻳﺖ و ﺷﻨﺎﺳﺎﻳﻲ ﻛﺎرﺑﺮان‬
    ‫اﻳﻤﻨﻲ در ﺣﻔﻆ ﺳﻄﻮح دﺳﺘﺮﺳﻲ ﻛﺎرﺑﺮان‬
    ‫اﻳﻤﻨﻲ در ﻣﻘﺎﺑﻞ وﻳﺮوس‬
    ‫اﻳﻤﻨﻲ در ﻣﻘﺎﺑﻞ ‪ Hacking‬و ‪Cracking‬‬
    ‫اﻳﻤﻨﻲ در ﺣﻤﻼت اﻟﻜﺘﺮوﻧﻴﻜﻲ‬


    تراکنشی:
    ‫ﻋﻤﻠﻴﺎﺗﻬﺎي ﺳﻴﺴﺘﻢ ﺑﻪ ﺻﻮرت ﺻﺤﻴﺢ و ﻛﺎﻣﻞ اﻧﺠﺎم ﻣﻲ‬‫ﮔﻴﺮد و ﻧﺒﺎﻳﺪ ﻧﺎﻗﺺ و ﻧﺼﻒ و ﻧﻴﻤﻪ ﺑﺎﺷﺪ.‬ ‫از ﺗﺮاﻛﻨﺶ ﻫﺎي ﺗﻮزﻳﻊ ﺷﺪه ﭘﺸﺘﻴﺒﺎﻧﻲ نماید.‬ تا به صورت تراکنشی شناخته شود.

    توزیع شده:
    ﻛﺎرﺑﺮان ﻣﻲ ﺗﻮاﻧﻨﺪ در ﻫﺮ ﻣﺤﻞ ﺟﻐﺮاﻓﻴﺎﻳﻲ ﺑﺎﺷﻨﺪ.‬
    ‫ﻻﻳﻪ ﻫﺎي ﺳﻴﺴﺘﻢ ﻣﻲ ﺗﻮاﻧﻨﺪ در ﻫﺮ ﻣﺤﻞ ﺟﻐﺮاﻓﻴﺎﻳﻲ‬‫ﺑﺎﺷﻨﺪ.‬
    ‫ﻣﻮﻟﻔﻪ ﻫﺎي ﺳﻴﺴﺘﻢ ﻣﻲ ﺗﻮاﻧﻨﺪ در ﻫﺮ ﻣﺤﻞ ﺟﻐﺮاﻓﻴﺎﻳﻲ‬‫ﺑﺎﺷﻨﺪ.‬


    به صورت لیست وار ویژگی نرم افزارهای Enterprise رو بررسی کردیم که البته هر کدومشون قابل بحث هستند که متاسفانه نه اینجا مجالش هست و نه سواد ما اجازه این کارو میده. با این حال امیدوارم این پست براتون مفید واقع شده باشه .

  4. #4
    کاربرسایت ارسطو آواتار ها
    تاریخ عضویت
    ۸۶-۰۸-۲۳
    نوشته ها
    991
    سپاس ها
    0
    سپاس شده 3 در 3 پست

    پاسخ : جاوا - يك بار بنويس همه جا اجرا كن

    تا اينجا به ويژگي هاي نرم افزارهاي سازماني پرداختيم و با آنها آشنا شديم و در ادامه قصد دارم به معرفي خود جاوا بپردازم و متوجه خواهيد شد كه با توجه به ويژگي هاي گفته شده نرم افزارهاي سازماني، جاوا يكي از بهترين راه حل ها(Solution)براي اين قبيل نرم افزارهاست.
    جاوا در واقع تنها يك زبان برنامه نويسي نيست بلكه يك پلنفرم نيز هست كه بطور جداگانه آنها را بررسي مي كنيم.
    Java Platform:
    همانطور كه مي دانيد پلتفرم ها متشكل از مجموعه اي از سخت افزار و نرم افزارها مي باشند . تا امروز شما با پلتفرم هاي مختلفي آشنا شده ايد مانند پلتفرم لينوكس كه مجموعه اي از سيستم عامل لينوكس و سخت افزاري است كه اين سيستم عامل در آن در حال اجراست . پلتفرم جاوا كمي متفاوت است يعني يك پلتفرم كاملا نرم افزاريست. پلتفرم جاوا متشكل از:

    The Java Virtual Machine (JVM)
    The Java Application Programming Interface (Java API)
    ماشين مجازي جاوا (JVM) در واقع وظيفه اجراي برنامه هاي جاوا را در ماشين مقصد دارد و واسط هاي برنامه نويسي كاربردي (API) به ماشين مجازي جاوا كمك مي كند تا اين برنامه ها را اجرا نمايد. در تصوير زير جايگاه اين اجزا و موقعيت آنها نسبت به يكديگر به طور كامل تشريح شده است.

    ممكن است سئوالي به ذهنتان خطور كند كه چرا پلتفرم جاوا ايجاد شده است ؟ مي توانست مانند ساير زبانها باشد.؟ پاسخي كه مي توان به اين سئوال داد اين است كه اين اتفاق جهت تحقق شعار جاوا(WORA – Write Once, Run Anywhere) - يك بار بنويس و همه جا اجرا كن- رخ داده است. در ادامه متوجه مي شويد كه اين ويژگي جاوا بسيار مفيد و در واقع اصلي ترين مزيت جاوا مي باشد.
    شما هنگامي كه درباره جاوا شنيده ايد، جاوا را زباني مستقل از پلتفرم يافته ايد. نگاهي زيركانه باعث شده است جاوا داراي اين چنين ويژگي باشد. مسئله را كمي شكاف مي دهيم و با جزئيات بيشتري آن را بررسي مي كنيم.
    در اغلب زبانهاي كه تا به امروز شما آنها را ديده ايد و يا در آن تجربه اي داشته ايد، روند اجراي برنامه به اين صورت است كه پس از نوشتن كد، آن را توسط كامپايلر و يا مفسر آن زبان تبديل به كد اجرايي مي نموديد و سپس آن را اجرا مي كرديد. در جاوا نيز همين روند اما با كمي تفاوت اتفاق مي افتد. پس از اينكه برنامه نوشته شد توسط كامپايلر جاوا ترجمه ميگردد. كامپايلر جاوا برنامه را به زباني مياني به نام Bytecode كه مستقل از پلتفرم است، ترجمه مي كند( يعني براي ماشين خاصي ترجمه نشده است. همانطور كه مي دانيد كامپايلرها برنامه را با توجه به ماشين مقصدي كه قرارست برنامه در آن اجرا شود، ترجمه مي كنند). اين فايلهاي مياني داراي پسوند .class هستند كه قابليت اجرا در هر ماشيني كه داراي JVM است را دارا مي باشند. در ماشين مقصدي كه قرار است اين برنامه در اجرا گردد، ماشين مجازي اين Bytecode ها را دريافت كرده و شروع به تفسير و آماده سازي آن با توجه به ماشين مقصد مي نمايد و سپس برنامه آماده جهت ماشين مقصد را اجرا مي كند. تصاوير زير چگونگي انجام اين مراحل را بهتر تشريح مي كند.



    تصوير 1 – ترجمه برنامه به Bytecode



    تصوير 2 – تفسير Bytecode جهت ماشين مقصد توسط JVM

    Java Language:
    جاوا يك زبان برنامه نويسي سطح بالاست كه مي توان آنرا به صورت زير در ويژگي هايي معرفي نمود.


    1- Simple
    2- Interpreted
    3- Architecture neutral
    4- Multithreaded
    5- Object Oriented
    6- Robust
    7- Portable
    8- Dynamic
    9- Distributed
    10- Secure
    11- High performance

    بررسي اين ويژگي ها را به پست بعدي محول مي كنيم.

    اميدوارم كه استفاده كرده باشيد.

  5. #5
    کاربرسایت ارسطو آواتار ها
    تاریخ عضویت
    ۸۶-۰۸-۲۳
    نوشته ها
    991
    سپاس ها
    0
    سپاس شده 3 در 3 پست

    پاسخ : جاوا - يك بار بنويس همه جا اجرا كن

    در اين پست ويژگيهاي جاوا رو مورد بررسي قرار مي دهيم. همون Buzzwordهاي جاوا كه تو پست قبلي نام بردم.

    1- سادگي (Simple)
    جاوا طراحي شد تا برنامهنويسهاي حرفهاي به راحتي و به طور موثر آن را فرا گرفته و استفاده نمايند. با فرض اين كه شما تجربهاي در برنامهنويسي داشته باشيد، شما براي حرفهاي شدن در جاوا كار سختي نخواهيد داشت. اگر شما با مفاهيم پايهي برنامهنويسي شيگرا آشنايي داشته باشيد حتي يادگيري آن آسانتر نيز خواهد شد و بهتر از همه اينها، اگر تجربهي برنامهنويسي C++ را داشته باشيد، حركت به سمت جاوا نيازمند مقدار كمي تلاش خواهد بود. به اين خاطر كه، جاوا دستورها و تعدادي از امكانهاي شيگرايي زبان C++ را به ارث برده است. همچنين، بعضي از مفاهيم پيچيدهتر C++ يا خارج از جاوا باقيماندهاند و يا به صورت قابل دسترستر و واضحتري پيادهسازي شدهاند.
    فراي شباهت با C/C++، جاوا صفتهاي ديگري نيز دارد كه آن را براي يادگيري آسانتر مينمايد.

    2- مفسري و كارايي بالا (Interpreted & High Performance )
    همانطور كه در قسمت بعد خواهيد خواند، جاوا قادر به ايجاد برنامههاي مستقل از سكو (Platform Independent) است كه اين عمل را توسط ترجمه برنامه داخل يك ارائه مياني به نام بايتكد(Bytecode) انجام ميدهد. اين كد توسط هر سيستم مجهز به ماشين مجازي جاوا قابل تفسير ميباشد. اغلب تلاشهاي پيشين براي راهحلهاي مستقل از سكو بودن، وقوع يافت اما بهزينه كارايي سيستم. ديگر سيستمهاي مفسري همچون BASIC, Tcl و PERL تقريبا ازكمبودهاي كارايي غير قابل عبور زيان ديدند. جاوا، به هر حال، براي كارايي مناسب روي CPUهاي توان پايين طراحي شده بود. همانطور كه پيشتر تشريح شد، جاوا براي تفسير مهندسي شده بود و جاوا بايتكد طوري به دقت طراحي شده بود كه براحتي درون ماشين هدف با كارايي بالا توسط كامپايلر JIT(Just-In-Time) ترجمه ميشد. سيستم زمان اجراي جاوا ويژگي كد مستقل از سكو را بدون از دست دادن هيچ يك از فوايد آن فراهم ميكند. مستقل از سكو با كارايي بالا چيزي بيش از يك تركيب ضد و نقيض نيست.

    3- معماري خنثي (Architecture neutral)
    موضوع مهم براي طراحان جاوا طول عمر و قابليت حمل كد بود. يكي از مشكلهاي پيش روي برنامهنويسان اين است كه هيچ ضمانتي وجود ندارد كدي كه امروز نوشته ميشود فردا اجرا گردد- حتي در همان ماشين. به روز رساني سيستم عامل، به روز رساني پردازنده و تغيير در هسته منابع سيستم ميتواند با هم تركيب شده تا باعث شود برنامه به صورت نادرست عمل نمايد. طراحان جاوا چند تصميم دشوار در زبان برنامهنويسي و ماشين مجازي جاوا در جهت تلاش براي تغيير اين وضعيت گرفتند. هدف آنها "يكبار بنويس؛ همه جا، همه وقت، هميشه اجرا كن"(همان شعار معروف توسعهدهندگان جاوا) بود كه در مقياسي وسيع اين هدف به انجام رسيد.

    4- چند نخي (Multithreaded)
    جاوا براي برخورد با نيازهاي برنامههاي شبكه شده و فعل و انفعال آنها در دنياي واقعي طراحي شده بود. براي حل اين مسئله، جاوا از برنامهنويسي چندنخي پشتيباني ميكند، كه اجازه ميدهد تا شما برنامههايي بنويسيد كه چند كار را هم زمان انجام ميدهند. سيستم زمان اجراي جاوا با راه حلي زيركانه كه تا كنون نيز بينظير ميباشد، براي همزمان سازي چندپردازشي ايجاد گرديد، كه شما را قادر ميكند تا سيستمهاي اجرايي فعل و انفعالي مناسبي بسازيد.
    روش" استفادهي آسان" جاوا براي چند نخي، به شما اجازه مي دهد تا درباره رفتارهاي خاص برنامه فكر كنيد نه براي چند وظيفه كردن زيرسيستمها.

    5- شيگرا (Object Oriented)
    هرچند متاثر از اجدادش بود، اما جاوا براي سازگاري با هيچ زبان ديگري طراحي نشده بود. اين مسئله اجازه داد تا تيم جاوا براي طراحي آزاد باشد. يكي از پيامدهاي اين مسئله روشهاي عملي، قابل استفاده مجدد و ساده براي اشيا بود. استقراض آزادانه از محيطهاي نرمافزاري- شياي چند دههي اخير باعث شد تا جاوا موازنهي بين الگوي وسواس " همه چيز يك شي است" و مدل عملي "خارج از روش من بمان" را مديريت نمايد. مدل شياي در جاوا تا هنگامي كه انواع ساده مانند integerها به صورت غيرشيهاي كارآمد نگهداشته شدهاند، بسيار آسان و ساده براي توسعه خواهد بود.

    ادامه ساير ويژگيها رو به پست بعدي موكول مي كنم و اگر به طور كامل اين ويژگيها رو درك نكرديد، نگران نباشيد ، با پيشرفت در جاوا به طور كامل متوجه آنها خواهيد شد.

    اميد به مفيد بودن اين مطلب

  6. #6
    کاربرسایت ارسطو آواتار ها
    تاریخ عضویت
    ۸۶-۰۸-۲۳
    نوشته ها
    991
    سپاس ها
    0
    سپاس شده 3 در 3 پست

    پاسخ : جاوا - يك بار بنويس همه جا اجرا كن

    سايرويژگيهاي باقيمانده در مورد جاوا رو در اين پست بررسي ميكنيم

    6- ثابت و پايدار (Robust)
    براي درك بهتر اينكه چرا جاوا پايدار است، به دو مورد اصلي كه باعث بروز خطا در برنامه ميشوند رسيدگي ميكنيم. اين دو مورد عبارتند از: اشتباهات در مديريت حافظه و استثناهاي مديريت نشده.
    مديريت حافظه در برنامه كار بسيار سختي است. در محيطهاي برنامهنويسي سنتي همانند C/C++ برنامهنويس بايد به صورت دستي حافظههاي ديناميك را تخصيص داده و سپس آنها را آزاد نمايد. اين امر گاهي اوقات ايجاد مشكل مينمود. به اين خاطر كه برنامهنويس يا آزاد نمودن فضاي تخصيص داد شده را فراموش ميكرد و يا فضايي را آزاد مينمود كه هنوز قسمتي از برنامه در حال استفاده از آن بود. اما جاوا با مديريت تخصيص و آزادسازي حافظه براي شما اين مشكل را بطور كامل حل نموده است(در حقيقت به دليل فراهم شدن عمل پاك كردن خانههاي بلااستفاده حافظه توسط جاوا، عمل آزادسازي حافظه بطور كاملا خودكار انجام ميشود).
    وضعيتهاي استثنا در محيطهاي سنتي اغلب به دلايل مختلفي همچون تقسيم بر صفر يا نبودن فايل بر روي ديسك رخ ميداد و بايد اين وضعيتها توسط ساختارهاي پيچيده كه داراي تركيبي نامناسب و همچنين داراي خوانايي كمي بودند، مديريت ميشد. جاوا با فراهم نمودن مديريت استثاء شيگرا در اين ناحيه كمك شاياني به ما ميكند. در برنامه جاوايي كه به خوبي نوشته شده است، همه خطاهاي زمان اجرا مي تواند – و بايد – توسط برنامه شما اداره شود.

    7- قابل حمل(Portable)
    همانطور كه ميدانيد مقدار حافظه تخصيص دارده شده براي انواع در برنامه به ماشين مقصد بستگي دارد به عنوان مثال امكان دارد در ماشين اول براي نوع int مقدار 2 بايت و در ماشين دوم مقدار 4 بايت در نظر گرفته شود. حال تصور كنيد كه شما برنامه خود را براي ماشين دوم نوشته ايد و پس حال مي خواهيد آن را بر روي ماشين اول اجرا كنيد. به نظر شما چه فاجعهاي رخ مي دهد؟ اما جاوا با استفاده از ماشين مجازي خود و تخصيص يك فضاي استاندارد براي انواع در برنامه اين مشكل را به راحتي حل كرده و ديگر شما نگران اين مقوله نيستيد و برنامه خود را در هر جا مي توانيد اجرا كنيد كه اين همان شعار جاوا ( يكبار بنويس همه جا اجر كن) را محقق مي سازد.

    8 – پويا(Dynamic)
    برنامههاي جاوا به دليل اينكه به صورت مجموعهاي از كلاسهاي مجزا از هم بر روي ديسك ذخيره ميشوند و همچنين به دليل اينكه ماشين مجازي جاوا در زمان اجراي برنامه فقط كلاسهاي مورد نياز را در حافظه قرار ميدهد، زاتا داراي اين ويژگي ميباشد. شما اين توانايي را داريد كه پس اعمال تغييرات لازم در برنامه، كلاسهايي كه متاثر از اين تغييرات بوده اند را به جايي كلاسهاي قبلي قرار دهيد و بلافاصله شاهد اعمال تغييرات در برنامه در حال اجرا باشيد.

    9- توزيع شده(Distributed)
    جاوا براي محيطهاي توزيع شده طراحي شده و به همين دليل پروتكل TCP/IP را مديريت مي نمايد. در حقيقت دسترسي به يك منبع با استفاده از يك URL فرق چنداني با دسترسي به يك فايل ندارد. ويرايش اصلي و اوليه جاوا(Oak) شامل امكاناتي براي پيامدهي interaaddress-space بود. اين امكان اجازه مي داد تا اشيا در دو كامپيوتر متفاوت متدهاي يكديگر را از راه دور اجرا نمايند. جاوا اين واسط را در بستهاي به نام Remote Method Invocation(RMI) مجددا احيا نمود. اين امكان موجب شد تا يك سطح بينظيري از برنامهنويسي كلاينت- سرور آغاز شود.

    در پستهاي آينده به بررسي خود زبان جاوا مي پردازم و اميدوارم كه براتون مفيد باشه.

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. تحول در سرويس اخبار گوگل
    توسط HRG در انجمن گوگل(google)
    پاسخ ها: 0
    آخرين نوشته: شنبه ۱۲ تیر ۸۹, ۱۷:۱۶
  2. سرويس آزمايشي ترجمه انساني
    توسط HAMIDREZA در انجمن نرم افزار
    پاسخ ها: 0
    آخرين نوشته: سه شنبه ۱۲ شهریور ۸۷, ۰۰:۵۷
  3. سرويس DNS
    توسط ERFAN در انجمن مقالات عمومی
    پاسخ ها: 0
    آخرين نوشته: دوشنبه ۰۲ اردیبهشت ۸۷, ۲۳:۵۵
  4. راه اندازي 26 سرويس رايگان sms
    توسط HAMIDREZA در انجمن خدمات و سرويسهاي مخابراتي
    پاسخ ها: 0
    آخرين نوشته: جمعه ۱۱ آبان ۸۶, ۱۹:۲۷
  5. سرويس دهنده وب
    توسط Unknown در انجمن هك و امنيت
    پاسخ ها: 0
    آخرين نوشته: سه شنبه ۱۳ شهریور ۸۶, ۱۱:۵۳

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •