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

0 رأی
میانگین بازدید روزانه 0.27393 بازدید
چطور به کامپایلر بفهمونیم که از jit استفاده کند یا از jvm
سوال جاری به یکی از جواب های این سوال مرتبط است: تفاوت JIT compilation و AOT compilation چیست؟
سوال 4 سال قبل در تالار برنامه نویسی توسط forse.mafia (2 امتیاز)
برچسب گذاری مجدد در 4 سال قبل توسط 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
جواب 4 سال قبل توسط Saeed Zarinfam (674 امتیاز)
انتخاب شده در 4 سال قبل توسط forse.mafia
+1 رأی

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

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

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

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

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

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

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

0 رأی
1 جواب میانگین بازدید روزانه 0.25502 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.16260 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.0567 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0577 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1197 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.5966 بازدید
سوال 5 سال قبل در تالار برنامه نویسی توسط Saeed Zarinfam (674 امتیاز)
+1 رأی
2 جواب میانگین بازدید روزانه 0.28572 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.871,756 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.4934 بازدید
سوال 2 ماه قبل در تالار برنامه نویسی توسط shahoo (134 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.336 بازدید
کانال تلگرام جواب یاب
...