هم آره هم نهآیا جاوا یک زبان interpreted حساب میشه
کامپایل شدن جاوا و نظایر اون دو مرحله داره
- میدونین که هر نوع CPU زبان ماشین و اسمبلی مخصوص خودشو داره ( مثلا Intel یه مدل AMD یه مدل ARM یه مدل و حتی بین معماری های مختلف اینتل ، مثلا X86 یا X64 ، هم تفاوت وجود داره ) حالا تصور کنین ما یه جور اسمبلی داریم ( در مورد جاوا ByteCode و C# هم IL ) که برناممون رو فقط به اون کامپایل میکنیم . دقت کنین هیچ CPU واقعی این کدها رو نمیفهمه !
- در هنگام اجرا این کد اسمبلی حاصل از برنامه ما تحویل به یه برنامه ای داده میشن که به طور شبیه سازی شده اونها رو اجری میکنن ( در مورد Java ، JVM و در مورد .Net ، CLR) ، در واقع یعنی یه جورایی تفسیر میکنن ! حالا این وسط برنامه های مذکور یک کلک هایی هم میزنن یعنی به هر بخشی از برنامهی شما که برای بار اوّل اجرا میشه رو به کد Native کامپایل میکنن و برای بار دوّم دیگه تفسیری در کار نیست !
امیدوارم مقصود رو به درستی رسونده باشم
اگر میخواهید جاوا کار کنین به نظر من اینجا شروع خوبیه
توضیحات من رو با عکس و یه متن درست و حسابی و مبسوط توضیح داده
چون برای اجرا نیاز به java runtime داره و آیا کدهای جاوا همانند C# آخر سر تبدیل به فابل اجرایی میشن یا نه؟
کدهای Java و C# تقریبا مثل هم پردازش میشن و C# هم به IL کامپایل میشه و CLR اجراش میکنه و این بحثایی که بالا گفتم براش رخ میده