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

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

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

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

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

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

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

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

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

0 رأی
1 جواب میانگین بازدید روزانه 0.24450 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.16245 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.0663 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0567 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1188 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.49889 بازدید
سوال 4 سال قبل در تالار برنامه نویسی توسط Saeed Zarinfam (1,273 امتیاز)
+1 رأی
2 جواب میانگین بازدید روزانه 0.29556 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.91,724 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 1.68 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.446 بازدید
کانال تلگرام جواب یاب
...