قابلیت تبدیل بایت کد به کد ماشین در Hotspot جاوا چگونه است؟

+1 رأی
میانگین بازدید روزانه 0.16239 بازدید
با سلام

تا اینجا می دونم که برنامه های جاوا اول از همه به کد های بایتی تبدیل میشه دلیلشم اینه که اگر مستقیم به زبان ماشین ماشین تبدیل بشه اون وقت برای هر نوع سی پی یو باید برنامه جدا و مختص اون نوشته بشه.

خوب کامپایلر میاد دستورات جاوا رو به کد بایتی تبدیل می کنه بعد ماشین مجازی جاوا میاد کد بایتی رو تفسیر می کنه/تا اینجا درست

ولی مشکل اینجاست که تو این روش سرعت از روش مستقیم کمتر

امدن Hotspot درست کردن که قسمت های تبدیل به کد ماشین میکنه نمی دونم این داستان ها این قسمتش رو کسی می دونه یعنی چی دقیقا؟؟؟یعنی بعد اینکه کامپایلر تبدیل به کد بایتی کرد چه اتفاقی می افتده؟؟
سوال 4 سال قبل در تالار برنامه نویسی توسط TikLion (5 امتیاز)
ویرایش 4 سال قبل توسط Saeed Zarinfam
خوب مگر جاوا به خاطر این  داستان که برای هر CPU کد ماشین خاص خودش هست ماشین مجازی رو راه نینداخته؟؟؟
مگر ماشین مجازی به این صورت نیست که جاوا برای هر مدل CPU ماشین مجازی ساخته بعد برنامه نویس برنامه خودش به جاوا می نویسه موقع اجرا تبدیل به بای کد میشه ماشین مجازی بای کد رو به کد ماشین قابل فعم CPu تبدیل می کنه!
خوب اگر قسمت های از کد رو به کد ماشین تبدیل می کنه این قسمت ها قسمت های هست که در همه cpu ها به یک شکل نوشته میشن؟؟؟
بله دقیقا اینایی که گفتید درسته ولی لزومی نداره هر سری بایت کد ها توسط JVM تفسیر بشه، در خیلی از موارد می توان کد معادل ماشین تولید کرد و اونو بجای تفسیر اجرا کرد. از نظر توسعه دهنده یک JVM معمولی با Hotspot هیچ فرقی نداره فقط بایت کد ها توسط Hotspot خیلی سریعتر اجرا میشه.

1 جواب

0 رأی

ماشین مجازی Hotspot جاوا با استفاده از قابلیت just-in-time compile در زمانی که بایت کد های جاوا را اجرا می کند بصورت داینامیک آنها را به کد ماشین معادل نیز کامپایل می کند و کد های ماشین بدست آمده را برای اجرا های بعدی نگه می دارد و بصورت مداوم performance برنامه را چک می کند و در صورت امکان در اجرا های بعدی از بهترین کد ماشین تولید شده استفاده می کند که سبب می شود performance اجرای برنامه های جاوا بالا رود.

جواب 4 سال قبل توسط Saeed Zarinfam (1,226 امتیاز)

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

+1 رأی
1 جواب میانگین بازدید روزانه 0.66899 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.26342 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.24430 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.13161 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0592 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.5430 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.2752 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.175 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.0459 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.34500 بازدید
کانال تلگرام جواب یاب
...