我想知道JVM的内部,它如何执行以及重要的细节。你能建议任何资源或最好的书可用于这?理解JVM更好
理解JVM更好
回答
我所知道的大多数JVM来自Sun文档。他们对HotSpot虚拟机的一些伟大的白皮书: http://java.sun.com/javase/technologies/hotspot/index.jsp
你提到的性能,所以也许你会感兴趣的太阳性能文档: http://java.sun.com/docs/performance/
对于多动手上的做法,尝试寻找在Kaffe。这将向您展示虚拟机的功能,但并不一定如何在Sun的JVM中运行Java代码:
Kaffe是Java虚拟机的洁净室实施,以及提供Java运行时所需的关联类库环境。
而且OpenJDK的是了解Java平台如何实现一个伟大的地方: http://openjdk.java.net/
明显的第一选择是The Java Virtual Machine Specification。还有The Wikipedia Page,链接到其他资源。从 “里面的Java 2虚拟机”
章节:
http://www.artima.com/insidejvm/ed2/index.html
“引擎盖下”,由比尔文章
http://www.artima.com/underthehood/index.html
还有 “茉莉花”,一个装配台对于JVM,如果您想让自己的手变脏并尝试使用JVM进行低级编程。
如果你的动机是要找出如何编写工作更快,占用内存更少的虚拟机规范不会帮助太多的代码。
VM规范不是为了给你提供有关信息,它的目的是让VM开发人员大致了解如何实现VM。
这就是说它不能阅读它。
找出有关速度/内存问题的最佳方法是在更高层次上,有许多书籍可以帮助您更快/更精简的代码。
探查器是测试代码以查看更快/使用更少内存的宝贵工具。配置文件,看看什么是慢/使用大量的内存,改变它,配置文件,看看有什么变化。
下面是我深入的在线课程Java的一个链接Udemy平台。它有一个关于JVM的完整章节,大约有3个小时的视频。它涵盖了从类型的生命周期,运行时数据区域,反射,垃圾收集,堆栈和指令集等所有内容。 “Java 2虚拟机内部”在其中一个答案中提到的在线书籍被用作参考书籍之一。
https://www.udemy.com/java-in-depth-become-a-complete-java-engineer/
这里是一个很好的和堆的简短说明,对象分配和垃圾收集, Understanding Memory Management。 您可以从那里开始探索更多。
- 1. 更好地理解JavaScript
- 2. 更好的理解服务
- 3. 更好的理解范围
- 4. 更好地理解phantom.exit的()
- 5. 更好地理解编译
- 6. 更好地理解错误
- 7. 更好地理解SimpleAdapter的ViewBinder
- 8. 需要更好的理解动作:woocommerce_subscription_status_cancelled
- 9. 写更好的方法列表理解?
- 10. 更好地理解这个python代码
- 11. 更好的理解JavaScript参数
- 12. ForeignKey关系更好的理解
- 13. 试图更好地理解指针
- 14. 更好地理解extern“C”函数
- 15. 更好地理解Struts2的行为
- 16. 有助于更好地理解联接
- 17. 更好理解ODBC ODBC驱动程序
- 18. 在cocos2d中更好地理解CGRect
- 19. 更好地理解内存版本
- 20. 做得更好字典理解
- 21. 更好地理解getline()和cin
- 22. 为了更好地理解regionprops
- 23. 使用Google Places更好地理解Api
- 24. 主干 - 更好地理解模板
- 25. NodeJS,PM2,GC,Grafana - 更好的理解
- 26. 试图更好地理解ng-if
- 27. Python:理解迭代器和`join()`更好
- 28. 更好地理解属性声明
- 29. 从Mysql到Android更好地理解base64
- 30. 更好地理解__str__用法