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

نام تاپیک: فرق بین jdk ، jre و jvm چیست

  1. #1

    فرق بین jdk ، jre و jvm چیست

    سلام
    فرق بین تین سه بخش توی جاوا چیه؟
    من چند تا مطلب خواندم منتها درست متوجه نشدم.
    کدوم زیر مجموعه اون یکی هست. و اصلا کامپایلر کدومشون هست ؟ و کدومشون مفصر هستش؟

    ممنون میشم یک توضیح واضح بنویسید.

  2. #2
    کاربر دائمی آواتار cups_of_java
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تهران
    سن
    40
    پست
    1,544

    نقل قول: فرق بین jdk ، jre و jvm چیست

    JVM ماشین مجازی جاوا هست. یک مفسر داخلش هست که می تونه بایت کد جاوا رو اجرا کنه براتون.
    JRE محیط اجرایی جاوا هست که شامل JVM و یک سری برنامه های دیگه میشه.
    JDK همون برنامه هایی هست که برای نوشتن برنامه های جاوا نیاز دارید. مثل کامپایلر

  3. #3

    نقل قول: فرق بین jdk ، jre و jvm چیست

    پس یک یعنی وقتی یک برنامه رو نوشتیم و شروع کردیم به کامپایل و اجرا
    اول : اول jdk اون رو تبدیل به بایت کد می کنه
    دوم : jre فایل های مورد نیاز (کتابخانه های جاوا) رو فراهم می کنه
    و در آخر jvm بوسیله مفسرش برنامه رو اجرا می کنه

    فکر کنم تو فهم دومی اشتباه کردم.(این یکسری برنامه های دیگه چی هست)

  4. #4
    کاربر دائمی آواتار cups_of_java
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تهران
    سن
    40
    پست
    1,544

    نقل قول: فرق بین jdk ، jre و jvm چیست

    آره، درسته. در هر صورت JRE محیط اجرایی جاواست که بخش اصلیش همون ماشین مجازی JVM هست. کتابخانه های جاوا، مفسر، کد های مربوط به سیستم عامل و ... هستند که JRE رو می سازن.

  5. #5

    نقل قول: فرق بین jdk ، jre و jvm چیست

    سلام
    وقتی jdk نصب می شود، پوشه jre نیز به همراهش نصب می شود. در پوشه bin نیز به همراه، java و ,javac فایل های اجرایی با نام های appletviewer,extcheck,,jar,,jarsigner,,javadoc,,ja vah,,javap,,javaw,,jdb,keytool نیز نصب می شوند. آیا وجود اینها برای کامپایل ضروری هستند یا برای مقاصد دیگری در این پوشه قرار می گیرند.

  6. #6

    نقل قول: فرق بین jdk ، jre و jvm چیست

    این دو تا دیاگرام ضمیمه را ببینید:
    http://www.eol.ucar.edu/software/jav...ocs/index.html
    http://midatl.radford.edu/docs/java-...ocs/index.html



    جفتش برای jdk 5 هست. ولی چرا این همه اختلاف دارند؟ مثلا تو دومی اصلا مفسر دیده نمی شه و توی اولی مفسر داخل jdk هست (یعنی اگر فقط jre رو سیستم مقصد نصب باشه برنامه اجرا نمیشه؟)

    jdk برای کامپایل کردن به jre هم نیاز داره یا jre فقط برای اجرا و jdk فقط برای کامپایل استفاده میشه؟

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

    نقل قول: فرق بین jdk ، jre و jvm چیست

    ببینید شما به عنوان برنامه نویس به JDK احتیاج دارید.که به صورت واضح کیت توسعه جاوا هست.

    این کیت ابزار فوق العاده زیادی به همراه خودش داره.

    از ابزار debug گرفته, تا مفسر جاوا و صدها ابزار دیگه.

    خب شما وقتی برنامه رو نوشتی و تموم شد کاربر شما که تنها نیاز به JRE داره که نزدیک به 12 مگابایت

    اندازه داره و به شکل واضحی کوچکتر از JDK هست و تمام کلاس های مورد نیاز شما برای اجرای برنامه

    رو به همراهش داره.پس وقتی کاربر JRE رو داشته باشه تمام برنامه های شما رو اجرا می کنه.

    الان در ویندوز 7 به صورت پیش فرض JRE نصب شده و جای خوشحالی هست که دیگه کاربران نیاز

    به نصبش هم ندارن.

    اما JVM بحثی جدای از این حرفاست و همونطور که همه می دونیم ماشین مجازی جاوا محسوب

    می شه و اصولآ ما باهاش کاری نداریم البته APIی هم برای تنظیم کردن JVM وجود داره. در اصل

    شما وقتی برنامه رو میدید به کاربر,کاربری که JRE نصب کرده . برنامه شما بوسیله یک JVM

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

    ایجاد می شه یعنی محیط های اجرای اونها از هم جدا هستن و تداخلی به وجود نمیاد.

  8. #8

    نقل قول: فرق بین jdk ، jre و jvm چیست

    خوب مشکل من الان این هست که ما مگه نمی گیم برای اجرای برنامه در کامپیوتر مقصد فقط به jre نیاز داریم (که البته jvm رو هم در داخل خودش داره) ولی برنامه اصلی که باید برنامه ما یا همون بایت کد ها رو اجرا کنه java هست دیگه
    اما تو این دیاگرام که خود سایت sun گذاشته این فایل (برنامه java) در خارج از jre و داخل jdk هست


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

    نقل قول: فرق بین jdk ، jre و jvm چیست

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

    شما این فایل ها رو با JDK کامپایل می کنید و فایلهای بایت کد تحویل می گیرید یعنی در اصل برنامه آماده

    شما که قابل اجرا شدن در هر محیطی که جاوا [JRE] نصب باشه رو داره.خب پس JRE شما تنها نیاز به

    کلاس های پایه ای جاوا داره و همچنین JVM .در دیاگرامی هم که شما نشون دادید بخش زرد رنگ

    که جز JDK هست تنها ابزار توسعه محسوب میشن و برای برنامه نویس مورد استفاده قرار می گیره

    نه کاربر نهایی.

  10. #10

    نقل قول: فرق بین jdk ، jre و jvm چیست

    خوب منم همون بخش زدر رنگ منظورم هست.
    وقتی می خوایم برنامه نوشته شده رو کامپایل کنیم از برنامه javac در بخش زرد رنگ استفاده می کنیم. و وقتی می خوایم اجرا کنیم از برنامه java استفاده می کنیم دیگه.
    حالا من می گم از اونجایی که برای اجرا تنها jre لازم هستش نباید این java در بخش jre قرار می گرفت؟ یا این java در بخش زرد رنگ با اون برنامه جاوا که برای اجرای بایت کدهاست فرق داره؟

  11. #11

    Thumbs up نقل قول: فرق بین jdk ، jre و jvm چیست

    نقل قول نوشته شده توسط trustmiracle مشاهده تاپیک
    خوب منم همون بخش زدر رنگ منظورم هست.
    وقتی می خوایم برنامه نوشته شده رو کامپایل کنیم از برنامه javac در بخش زرد رنگ استفاده می کنیم. و وقتی می خوایم اجرا کنیم از برنامه java استفاده می کنیم دیگه.
    حالا من می گم از اونجایی که برای اجرا تنها jre لازم هستش نباید این java در بخش jre قرار می گرفت؟ یا این java در بخش زرد رنگ با اون برنامه جاوا که برای اجرای بایت کدهاست فرق داره؟
    ببینید :
    یک بار و برای همیشه می خواهم چیزهای زیادی ندانم.فرزانگی نیز برای شناخت , محدودیت می آفریند .(پندها وپیکان ها – فردریش نیچه)

  12. #12

    نقل قول: فرق بین jdk ، jre و jvm چیست

    چون برای خودم سوال بود این رو می گذارم اگر کسی خواست بخونه. اینطور که اینجا نوشته هر دو این فایل ها یکسان هستند.


    ممنون از همه دوستانی که جواب دادند.

  13. #13
    کاربر دائمی آواتار cups_of_java
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تهران
    سن
    40
    پست
    1,544

    نقل قول: فرق بین jdk ، jre و jvm چیست

    گیر شما به این عکس شاید درست باشه اما اینقدر حساس نشید. این عکس هم که از آسمون نزول نکرده. هدف این عکس جدا کردن اجزای مهم در معماری JDK و JRE بوده و کلیات رو نشون داده.
    بله هم JDK دستور java داره هم JRE دستور java داره و اینکه این دستور دریچه ای هست برای ارتباط با JVM و JRE
    به طور سنتی مرسوم بوده که در محیط اجرا یک پکیچ برای اجرا نصب میشده که اسمش JRE شده و در محیط توسعه یک پکیچ برای برنامه نویسان و ... که اسمش JDK بوده. اگه دقت کنید میبینید که JDK داخل خودش JRE داره! یک زمانی در نسخه 1.2 به بعد یه چیزی که آدمو ناراحت می کرد این بود که شما وقتی JDK نصب میکردی ازت میپرسید که می خوای JRE هم نصب شه (اگه نصب میشد امکان اجرای فایلهای جار و ... رو از طریق سیستم عامل و امکان دسترسی به Appletها رو در مرورگر فراهم میکرد!) ولی لزومی نداشت نصبش کنی. چون توی JDK شما JRE هم داری!

    خلاصه این چیزا خیلی مهم نیست. ذهنتون رو درگیرش نکنید. معماری جاوا پیچیده تر از این حرف هاست که بتونیم به این سادگی راجع بهش نظر بدیم.

  14. #14

    نقل قول: فرق بین jdk ، jre و jvm چیست

    ممنون دوستان منم استفاده کردم.

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

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