2015-09-27 92 views
-1

我對這兩個術語有疑問。 我創建了一個Demo.java類&我在Demo類中創建了一個實例變量。 需要注意的一點:我不打算運行我的程序,「我將只編譯我的程序」&我的問題是我已經在我的課堂上聲明的實例變量,它會將內存變成堆嗎? 根據我的說法,「我認爲不是」,但我的朋友正在與我爭論誰擁有四年的Java經驗。我只是更新鮮,這就是爲什麼我因爲他的話而感到困惑。在Java中編譯時間與運行時間?

class Demo 
{ 
int a=10; 
} 

的javac Demo.java

+0

只在運行時。 – Satya

+0

程序只在運行時使用內存。如果你不運行該程序,它將不會使用任何內存。 – RealSkeptic

+0

是的,我是說同樣的事情,但我的朋友與我爭論誰擁有四年的Java經驗。我只是更新鮮,這就是爲什麼我因爲他的話而感到困惑。 –

回答

1

如果未運行的程序也不會使用堆內存

0

你的問題是沒有意義的,可能是因爲你不知道什麼運行和編譯工具。運行和編譯在大多數語言中是完全不同的東西,而不僅僅是在java中。基本上你將源代碼編譯成機器碼,然後由編譯器執行。因此,雖然可以編譯源代碼,但並不意味着必須運行它。編譯時間與最終用戶無關,因爲幾乎沒有需要在部署時每次運行時重新編譯的程序。

+0

由編譯器執行? – RealSkeptic