چه زمانی کامپایلر میفهمد که باید از jit استفاده کند یا از jvm

0 رأی
میانگین بازدید روزانه 0.26369 بازدید
چطور به کامپایلر بفهمونیم که از jit استفاده کند یا از jvm
سوال جاری به یکی از جواب های این سوال مرتبط است: تفاوت JIT compilation و AOT compilation چیست؟
سوال 3 سال قبل در تالار برنامه نویسی توسط forse.mafia (2 امتیاز)
برچسب گذاری مجدد در 3 سال قبل توسط Saeed Zarinfam
در JDK دو عدد مفسر به اسم jit و jvm هستش که jit از اون یکی مفسر سریع تره و به صورت خودکار کامپایلر از مفسر jvm استفاده میکند حالا سوال من اینه که چزور به کامپایلر بفهمونیم از کدوم مفسرش استفاده کند.
jit مفسر نیست و قسمتی از JVM است. لطفا به جواب توجه فرمایید.

2 جواب

0 رأی
 
بهترین جواب

HotSpot بعنوان یک پیاده سازی جدید JVM در سال 1999 عرضه شده است و قابلیت just-in-time (JIT) compiler را در خود داشت. این JVM ابتدا بعنوان add-on برای JRE 1.2 عرضه شد و از JRE 1.3 بعنوان JVM پیشفرض عرضه شد.

just-in-time (JIT) compiler یکی از قسمت های JVM است و هیچ ربطی به کامپایلر جاوا (یا javac) ندارد و از نسخه JRE 1.3 بصورت پیش فرض فعال است.

برای غیر فعال کردن just-in-time (JIT) compiler در JVM می توانید از پارارمتر های زیر استفاده کنید:

-Xint

یا 

-Djava.compiler=NONE
جواب 3 سال قبل توسط Saeed Zarinfam (1,310 امتیاز)
انتخاب شده در 3 سال قبل توسط forse.mafia
+1 رأی

همانطور که Saeed Zarinfam گفتند JIT زیرمجموعه ای از JVM است.

ازونجایی که java bytecode توسط یک مفسر اجرا میشه بنابراین همیشه کندتر از برنامه مشابه ای که توسط کامپایلر به زبان محلی ماشین(native machine language) تبدیل شده است اجرا میشود.

این مشکل توسط jit حل شده و کار اصلی آن ترجمه بایت کدها به زبان ماشین است.این کار در زمان اجرای برنامه صورت میگیرد.

با دوعکس زیر کاملا مطلبو میگیرید:

در حقیقت وظیفه اصلی کامپایلر که بخشی از JDK میباشد کامپایل کد جاوا به بایت کد میباشد و کار JIT تازه در زمان اجرا کد در سیستم مقصد اغاز میشود و بایت کد را به زبان ماشین قابل فهم سیستم مقصد ترجمه میکند

جواب 3 سال قبل توسط hosein_masbough (918 امتیاز)

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 0.24469 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.16254 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.0666 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0572 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1191 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.49912 بازدید
سوال 5 سال قبل در تالار برنامه نویسی توسط Saeed Zarinfam (1,310 امتیاز)
+1 رأی
2 جواب میانگین بازدید روزانه 0.29563 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.881,734 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.4831 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.3358 بازدید
کانال تلگرام جواب یاب
...