我想知道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. 更好的理解服务
- 2. 写更好的方法列表理解?
- 3. ForeignKey关系更好的理解
- 4. 更好地理解属性声明
- 5. NodeJS,PM2,GC,Grafana - 更好的理解
- 6. 试图更好地理解指针
- 7. 主干 - 更好地理解模板
- 8. 有助于更好地理解联接
- 9. 更好地理解getline()和cin
- 10. 更好地理解extern“C”函数
- 11. 做得更好字典理解
- 12. 更好地理解内存版本
- 13. 了解JVM GC
- 14. 了解Arel更好
- 15. 防伪 - 更好地理解它的工作原理
- 16. 更好地理解用于php和javascript的Web代理
- 17. 管理多个JVM
- 18. 什么免费的JVM实现有最好的PermGen处理?
- 19. 更好地了解在轨
- 20. 更好的解决SqlDataSource?
- 21. 更好aproache处理dns_get_record
- 22. Nginx更好的VHOST管理?
- 23. 更好的管理安全
- 24. JVM调整以获得更好的Solr性能
- 25. 如何在桌面JVM上获得更好的NullPointerException消息?
- 26. 如何JVM编码属性更好的设置为UTF-8
- 27. 更好地理解CSS网格列 - 使用浮点数的列
- 28. 更好地理解用户和memcached之间的关系
- 29. 我需要更好地理解JavaScript的基本性质对象
- 30. 更好地处理cmd.Cmd命令行解释器中的KeyboardInterrupt