当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. Java应用程序的jvm沙箱
- 2. 在JVM中监视线程
- 3. django应用程序中的线程
- 4. Java中的多线程应用程序?
- 5. c#windows应用程序中的线程
- 6. Java EE应用程序中的线程
- 7. 多线程应用程序中的SetCurrentDirectory
- 8. Java应用程序中的线程
- 9. 线程中的android应用程序类
- 10. 多线程应用程序中的System.setproperty
- 11. Java Web应用程序中的线程
- 12. 使用JVM部署应用程序
- 13. C#应用程序线程
- 14. 线程Java应用程序
- 15. jvm/scala/lift应用程序栈?
- 16. JVM /应用程序无限期暂停
- 17. JVM基准测试应用程序
- 18. 在iPhone应用程序中的线程后调度线程
- 19. 线程安全应用程序中的线程安全
- 20. 执行程序优于多线程应用程序中的线程
- 21. 使用线程的Qt应用程序
- 22. GDB在非线程应用程序中显示1线程
- 23. 如何增加JVM中的线程
- 24. 的HelloWorld多线程C#应用程序
- 25. 应用程序内的多个线程
- 26. 线程在Python的Gtk应用程序
- 27. WinAPI的多线程应用程序
- 28. 多线程应用程序 - C++/Debian的
- 29. 线程的应用程序加载器
- 30. JVM线程转储位置
你已经自己回答了。你也有一个真正的问题吗? – Holger