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

0 رأی
میانگین بازدید روزانه 0.26342 بازدید
چطور به کامپایلر بفهمونیم که از 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,226 امتیاز)
انتخاب شده در 3 سال قبل توسط forse.mafia
+1 رأی

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

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

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

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

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

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

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

0 رأی
1 جواب میانگین بازدید روزانه 0.24430 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.16239 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.0662 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0562 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1181 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.49858 بازدید
سوال 4 سال قبل در تالار برنامه نویسی توسط Saeed Zarinfam (1,226 امتیاز)
+1 رأی
2 جواب میانگین بازدید روزانه 0.3548 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.921,712 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.5430 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.3128 بازدید
کانال تلگرام جواب یاب
...