0 امتیاز
قبل در برنامه نویسی توسط (2 امتیاز)
برچسب گذاری دوباره قبل توسط
چطور به کامپایلر بفهمونیم که از jit استفاده کند یا از jvm
قبل توسط (2 امتیاز)
در JDK دو عدد مفسر به اسم jit و jvm هستش که jit از اون یکی مفسر سریع تره و به صورت خودکار کامپایلر از مفسر jvm استفاده میکند حالا سوال من اینه که چزور به کامپایلر بفهمونیم از کدوم مفسرش استفاده کند.
قبل توسط (1.1هزار امتیاز)
jit مفسر نیست و قسمتی از JVM است. لطفا به جواب توجه فرمایید.

2 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

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
+2 امتیاز
قبل توسط (938 امتیاز)

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

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

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

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

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

سوالات مشابه

0 امتیاز
1 پاسخ 1.9هزار بازدید
+1 امتیاز
1 پاسخ 962 بازدید
0 امتیاز
0 پاسخ 264 بازدید
0 امتیاز
1 پاسخ 637 بازدید
0 امتیاز
1 پاسخ 442 بازدید
+2 امتیاز
1 پاسخ 2.1هزار بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
+1 امتیاز
2 پاسخ 895 بازدید
+2 امتیاز
1 پاسخ 2.2هزار بازدید
+1 امتیاز
1 پاسخ 376 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
...