+1 امتیاز
قبل در برنامه نویسی توسط (5 امتیاز)
ویرایش شده قبل توسط
با سلام

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

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

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

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

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

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

سوالات مشابه

+1 امتیاز
1 پاسخ 5.3هزار بازدید
0 امتیاز
2 پاسخ 2.1هزار بازدید
0 امتیاز
1 پاسخ 2.0هزار بازدید
0 امتیاز
1 پاسخ 553 بازدید
0 امتیاز
1 پاسخ 334 بازدید
+1 امتیاز
1 پاسخ 503 بازدید
سوال شده 6 سال قبل در برنامه نویسی توسط یوری (426 امتیاز)
+1 امتیاز
1 پاسخ 732 بازدید
0 امتیاز
1 پاسخ 539 بازدید
...