爲什麼沒有編譯直接使用.class擴展名直接保存的類不會被JVM執行。是否有任何類型的元數據或其他東西附加到.class文件,然後只有JVM被識別爲有效的.class文件?執行.class文件而不編譯
請幫我澄清提前 感謝
爲什麼沒有編譯直接使用.class擴展名直接保存的類不會被JVM執行。是否有任何類型的元數據或其他東西附加到.class文件,然後只有JVM被識別爲有效的.class文件?執行.class文件而不編譯
請幫我澄清提前 感謝
如果你有一個文本文件,它不是一個.class(沒有類加載器只會加載有效的類文件)。嘗試查看現有類的字節碼;你可以用javap -v反編譯它,這樣你就可以看到兩個文件之間的區別.....
是的..我明白了..乾杯 – AmitYadav
Java類文件是一個已編譯的中間格式,稱爲bytecode。字節碼由JVM解釋並執行。這不是人類可讀的文本。
如果你需要這個功能,我建議你看看Groovy和Scala(都是JVM託管的語言,並且都可以作爲腳本語言運行)。
不需要編譯它。 – JClassic
'.class'應該是一個編譯好的文件 –
你的意思是你有一個包含Java源代碼的文件,但是擴展名爲'.class'? –