更好地理解JVM

时间:2009-03-06 03:16:03

标签: jvm

我想知道JVM的内部,它的执行方式以及重要的细节。你能为这个推荐任何资源或最佳书吗?

5 个答案:

答案 0 :(得分:6)

“Java 2虚拟机内部”的章节:

http://www.artima.com/insidejvm/ed2/index.html

Bill Venners的“引擎盖下”文章

http://www.artima.com/underthehood/index.html

还有“Jasmin”,JVM的一个组合,如果你想弄清楚并尝试用JVM进行低级编程。

http://jasmin.sourceforge.net/

答案 1 :(得分:6)

我对JVM的了解大多来自Sun文档。他们在HotSpot VM上有一些很棒的白皮书: http://java.sun.com/javase/technologies/hotspot/index.jsp

您提到了性能,所以也许您会对Sun性能文档感兴趣: http://java.sun.com/docs/performance/

如需更多动手方法,请尝试查看Kaffe。这将向您展示虚拟机的功能,但不一定是Sun的JVM中Java代码的工作原理:

  

Kaffe是Java虚拟机的洁净室实现,以及提供Java运行时环境所需的关联类库。

OpenJDK是了解Java平台如何实现的好地方: http://openjdk.java.net/

答案 2 :(得分:2)

明显的第一选择是The Java Virtual Machine Specification。还有The Wikipedia Page,它链接到其他资源。

答案 3 :(得分:1)

如果你的动机是找出如何编写更快或更少内存的代码,那么VM规范将无济于事。

VM规范并非旨在为您提供相关信息,旨在让VM开发人员大致了解如何实施VM。

据说它无法阅读它。

了解速度/内存问题的最佳方法是更高级别,有许多书籍可以帮助您更快/更精简代码。

分析器是一个非常宝贵的工具,用于测试代码以查看更快/使用更少内存的内容。配置文件,查看什么是慢/使用大量内存,更改它,配置文件,看看更改做了什么。

答案 4 :(得分:0)

这是堆,对象分配和垃圾收集的一个简短的解释, Understanding Memory Management。 你可以从那里开始探索更多。