當JVM運行我們的程序(讓我們說像Hello World這樣最簡單的程序)時,它會爲它啓動一個應用程序線程。而且,我的問題是:該線程中究竟執行了什麼?它是一個字節碼解釋器執行我們的程序嗎?我們可以假設我們的程序沒有被打亂。JVM中的應用程序線程
0
A
回答
0
它爲它啓動一個應用程序線程。
JVM是一個程序,當它啓動時,它必須至少有一個線程來運行任何東西。因此,JVM不需要啓動第一個線程。
該線程究竟執行了什麼?
這取決於JVM。例如https://www.excelsiorjet.com/在啓動程序之前預編譯代碼,因此它已經在本機代碼中。 Oracle JVM只在運行足夠的代碼時編譯代碼,這對於Hello World來說不太可能。
我們可以假設,我們的程序沒有JIT編譯的
你不能假定代碼已經或尚未JIT'ed也不能假設只是因爲它一直JIT編譯現在它不會在稍後重新編譯,即在某些情況下可以回退到解釋器模式。
+0
使用jvm的參數Xint可以確保java與解釋器一起運行,而不是與jit一起運行。 – dabaicai
相關問題
- 1. JVM應用程序中有很多線程很貴嗎?
- 2. JVM在iOS應用程序中運行Android應用程序?
- 3. 爲非JVM應用程序編寫YARN應用程序
- 4. Java應用程序的jvm沙箱
- 5. 單線程程序可以中斷JVM調用嗎?
- 6. 在JVM中監視線程
- 7. 在執行應用程序的過程中顯示JVM的ThreadStackSize
- 8. c#windows應用程序中的線程
- 9. 多線程應用程序中的System.setproperty
- 10. Java Web應用程序中的線程
- 11. Web應用程序中的線程Java
- 12. 多線程應用程序中的SetCurrentDirectory
- 13. Java中的多線程應用程序?
- 14. Java應用程序中的線程
- 15. MonoTouch應用程序中的線程數
- 16. Java EE應用程序中的線程
- 17. C++中的多線程應用程序
- 18. 多線程應用程序中的EntityManager?
- 19. django應用程序中的線程
- 20. Websphere應用程序中的單線程
- 21. 線程中的android應用程序類
- 22. 使用JVM部署應用程序
- 23. C#應用程序線程
- 24. 線程Java應用程序
- 25. 多線程應用程序
- 26. Java應用程序服務器和JVM
- 27. 常規(非Web應用程序)JVM
- 28. JVM /應用程序無限期暫停
- 29. jvm/scala/lift應用程序棧?
- 30. JVM基準測試應用程序
你已經自己回答了。你也有一個真正的問題嗎? – Holger