2012-09-09 29 views
-2

这个问题非常广泛,但我想要深入浅出。我可以编写和运行java程序,但仍然令我感到困惑的是整个程序是如何实现的。我们有编译器将程序转换为JVM的字节码。而JVM如何分配内存? JVM是否具有内置堆栈或堆栈,或者JVM的解释器是否将内存分配给主内存中的对象。 原谅我的无知......但这真令我困惑。如何编译并运行一个java程序?

预先感谢.. 斯利拉姆

+1

您是否阅读过http://en.wikipedia.org/wiki/Java_virtual_machine? –

回答

3
  • .java文件是从人类可读的形式使用Java Compiler转换为byte code

  • JVM加载该类(加载在初始化之前完成)。

  • JVM也需要在这段时间有关的String Literalscreationmanagement护理。

  • class被实例化,所述instance给出存储器空间JVMheap,与hashCode沿,这取决于由JVM分配存储器位置

+0

自动垃圾收集器在JVM中工作..当它在RAM的堆中分配了空间时,它能够工作......它是否访问JVM规定的内存位置? 'a = object'中的 – 404

+0

''a'是一个'Object Reference Variable',它是一个64位的值,它指向Heap上的Actual对象...... –

+0

对不起a = ..我编辑了我的岗位 – 404

相关问题