نمایش نتایج 1 تا 4 از 4

نام تاپیک: گفتگو در مورد کارایی برنامه های جاوا

  1. #1
    کاربر دائمی آواتار kingtak
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    اینترنت
    پست
    231

    Question گفتگو در مورد کارایی برنامه های جاوا

    از دوستانی که در ضمینه جاوا کار میکنن چند تا سوال در مورد کارایی جاوا دارم:
    همونطور که توی سایت های مختلف در مورد کارایی جاوا و سرعت اجرای برنامه های دسکتاپ جاوا بحث شده این سوال برای من هم پیش اومده که که آیا جاوا برای برنامه های دسکتاپ مناسبه؟
    چون اکثر برنامه های جاوایی که من دیدم سرعت اجرای پایینی دارن و بعضا RAM خیلی زیادی مصرف میکنن.نمونش رو توی FXSampler یا نمونه های دیگه ای که با سویینگ نوشته شدن میبینیم.در حال که بعضی ها معتقدن سرعت برنامه های جاوا زیاده و اونو با برنامه های نوشته شده با سی شارپ هم مقایسه میکنند.
    از طرفی بعضی برنامه ها مثل اکلیپس یا نت بینز رو میبینیم که این مشکل رو ندارن و مثل برنامه های native با کارایی بالایی اجرا میشن.آیا اینها از تکنولوژی خاصی استفآده میکنند؟
    همچنین این سوال رو دارم که این دوتا برنامه بصورت فایل jar نیستند؟بخاطر این در مورد اینکه این برنامه های کاملا با جاوا نوشته شدن شک میکنم.؟
    آیا شما راهکاری برای اینکه برنامه های جاوا برای دسکتاپ مشکل سرعت و استفاده بهینه از رم و CPU داشته باشن دارید؟

  2. #2
    کاربر دائمی آواتار persianshadow
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    پست
    758

    نقل قول: گفتگو در مورد کارایی برنامه های جاوا

    البته این بحث قدری چالشی هست. ولی به عنوان تجربه شخصی خودم در شرکتی که ۲ پروژه جاوایی و دات نتی داشت و هر دو پروژه بخش Desktop application پیچیده‌ای داشتن میشه گفت هم جاوا و هم دات نت از پس کار بر اومدن و صد البته هر دو ضعف های هم داشتن که با قدری صرف وقت مرتفع میشد.
    فرضآ بحث استفاده بهینه از رم و CPU تا حد زیادی به نحوه کد نویسی هم برمیگرده که با Profile کردن و تصحیح کدها همه چیز حل میشه.
    اکثر نرم افزارهای معروف محصول ها سال‌ها کار و بهبود کد و تکنولوژی هستند و یا اینکه از فریم ورک های مناسبی بهره بردن. فرضآ اگه شما میخوایید یه نرم افزار Desktop بنویسید خب مستقیم از Swing و یا JavaFX استفاده نکنید. از Netbeans Application Framework استفاده کنید که همون تلاش سال ها رو به رایگان به شما میده :).

  3. #3
    کاربر دائمی آواتار kingtak
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    اینترنت
    پست
    231

    نقل قول: گفتگو در مورد کارایی برنامه های جاوا

    نقل قول نوشته شده توسط persianshadow مشاهده تاپیک
    فرضآ اگه شما میخوایید یه نرم افزار Desktop بنویسید خب مستقیم از Swing و یا JavaFX استفاده نکنید. از Netbeans Application Framework استفاده کنید که همون تلاش سال ها رو به رایگان به شما میده :).
    ممنون از توجهتون
    میشه در این مورد یه کم توضیح بدید یا لینک یا منبعی معرفی کنید؟

  4. #4
    کاربر دائمی آواتار -سیّد-
    تاریخ عضویت
    فروردین 1393
    محل زندگی
    تهران
    پست
    233

    نقل قول: گفتگو در مورد کارایی برنامه های جاوا

    نقل قول نوشته شده توسط kingtak مشاهده تاپیک
    چون اکثر برنامه های جاوایی که من دیدم سرعت اجرای پایینی دارن و بعضا RAM خیلی زیادی مصرف میکنن.نمونش رو توی FXSampler یا نمونه های دیگه ای که با سویینگ نوشته شدن میبینیم.در حال که بعضی ها معتقدن سرعت برنامه های جاوا زیاده و اونو با برنامه های نوشته شده با سی شارپ هم مقایسه میکنند.
    در مورد بحث desktop application دوستمون به خوبی توضیح دادن.
    اما دلیل این که اکثر برنامه‌های جاوا سرعت اجرای پایینی دارن و رم زیادی مصرف می‌کنن، دلایل مختلفی می‌تونه داشته باشه. یکیش اینه که توی جاوا دستوری به نام delete مثل ++C نداریم! بنابراین شما شیء رو درست می‌کنید، و رهاش می‌کنید به امان خدا! تا وقتی که Garbage Collector بیاد سراغش و حذفش کنه. اما توی ++C شما خودتون باید شیء رو از بین ببرید. برای همین معمولاً کسی که می‌تونه کد ++C بزنه، کدش سریعتر و بهینه‌تر هست! و البته سخت‌تر، برای همین هم کمتر به سمت ++C می‌رن.
    نکته‌ی دیگه اینه که جاوا یه JVM داره که ماشین مجازی هست و کد رو اون اجرا می‌کنه، نه این که سیستم عامل و CPU مستقیم کد رو اجرا کنن. که این خودش یه لایه‌ی اضافه هست و باعث کندتر شدنش می‌شه (البته موجودی به نام JIT هم وجود داره که این مشکل رو تا حد زیادی رفع می‌کنه).

    و در نهایت هم یه نکته در مورد بهینه‌سازی کد جاوا بگم: یکی از راه‌های سریع‌تر کردن اجرای کد جاوا، بهینه‌سازی تنظیمات JVM هست، یعنی تغییری توی کد نداره و فقط پارامترهای JVM رو دستکاری می‌کنید. مثلاً تنظیمات GC خییییلی می‌تونن توی بالا رفتن performance کد جاوا تأثیر داشته باشن (مخصوصاً توی RAM های بالا، مثلاً ۴ گیگ و بالاتر).

    نقل قول نوشته شده توسط kingtak مشاهده تاپیک
    از طرفی بعضی برنامه ها مثل اکلیپس یا نت بینز رو میبینیم که این مشکل رو ندارن و مثل برنامه های native با کارایی بالایی اجرا میشن.آیا اینها از تکنولوژی خاصی استفآده میکنند؟
    همچنین این سوال رو دارم که این دوتا برنامه بصورت فایل jar نیستند؟بخاطر این در مورد اینکه این برنامه های کاملا با جاوا نوشته شدن شک میکنم.؟
    به عنوان مثال من eclipse رو مطرح می‌کنم: یه فایل هست کنار فایل اجرایی eclipse به نام eclipse.ini که توش آدرس کلاس اصلی اجرایی eclipse نوشته شده:
    org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
    همچنین دو تا دایرکتوری توی eclipse وجود داره که شامل فایل‌های jar اش هست:
    plugins
    و
    features
    خلاصه: مطمئن باشید با جاوا نوشتنش! :)
    دلیلش هم اینه که وقتی زبون سطح بالاتر می‌ره، سرعت کد زدن براش بیشتر می‌شه، به دو دلیل: یکی این که توی زبان‌های سطح بالاتر درگیر یه سری مسائل سطح پایین نمی‌شید و در نتیجه تمرکزتون روی کل کار بیشتر می‌شه. دوم این که زبان‌های سطح بالاتر راحت‌تر از زبان‌های سطح پایین‌تر هستند، و در نتیجه تعداد بیشتری آدم پیدا می‌کنید که روش کار کنن و همچنین community بزرگتری دارن.
    یه دلیل دیگه که اینا رو با جاوا می‌نویسن اینه که pluggable باشه. اگه نگاه کنید، تعداد plugin های موجود برای eclipse خیییییییییییییییییییییییی ییلی زیاده! خوب دلیلش اینه که پلاگین نوشتن برای جاوا خیلی راحت‌تر از پلاگین نوشتن برای ++C هست. کلاً زبان‌هایی که VM دارن خیلی قابلیت انعطافشون بالاتره و در نتیجه خیلی راحت‌تر می‌تونن از پلاگین‌ها پشتیبانی کنن.

    و در نهایت یه نکته بگم: این که می‌گید مثلاً eclipse این مشکل رو نداره و مثل برنامه‌های native با کارایی بالا اجرا می‌شه، خیلی درست نیست. eclipse هم بعضی وقتها چنان قاطی می‌کنه که دیگه تکون نمی‌خوره! هر کاری می‌خواین توش بکنین بدون اغراق ۵ ثانیه طول می‌کشه! اعصاب آدم به هم می‌ریزه! البته معمولاً با یه restart مشکلش حل می‌شه! تا وقتی که دوباره به این وضعیت برسه!
    یعنی کلاً برنامه‌های جاوایی از برنامه‌های native سنگین‌تر هستن...

تاپیک های مشابه

  1. نوشتن برنامه های جاوا
    نوشته شده توسط hercules_3d در بخش برنامه‌نویسی جاوا
    پاسخ: 1
    آخرین پست: چهارشنبه 06 تیر 1386, 09:38 صبح
  2. سوالی در مورد ساخت برنامه های مالتی مدیا بر روی موبایل
    نوشته شده توسط Mehran_Asghari در بخش Java ME : نگارش میکرو جاوا
    پاسخ: 1
    آخرین پست: شنبه 21 بهمن 1385, 08:58 صبح
  3. گرافیک در برنامه های جاوا
    نوشته شده توسط sahar_2008 در بخش برنامه‌نویسی جاوا
    پاسخ: 5
    آخرین پست: سه شنبه 26 دی 1385, 18:11 عصر
  4. اجرای برنامه های جاوا در رویداد کلیک button
    نوشته شده توسط jannati در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: دوشنبه 31 مرداد 1384, 13:44 عصر
  5. فایلهای مورد نیاز برنامه های سی شارپ
    نوشته شده توسط iman_s52 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: دوشنبه 26 اردیبهشت 1384, 06:01 صبح

قوانین ایجاد تاپیک در تالار

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