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

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

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

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

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

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

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

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

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

0 رأی
1 جواب میانگین بازدید روزانه 0.29651 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.16299 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.0579 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0699 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1217 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.51,093 بازدید
سوال 5 سال قبل در تالار برنامه نویسی توسط Saeed Zarinfam (1,435 امتیاز)
+1 رأی
2 جواب میانگین بازدید روزانه 0.27603 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.791,792 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.1651 بازدید
سوال 10 ماه قبل در تالار برنامه نویسی توسط یوری (314 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.1450 بازدید
کانال تلگرام جواب یاب
...