2012-09-09 48 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