Re: [問題] VM 的問題
※ 引述《gw.bbs@bbs.cis.nctu.edu.tw (walter)》之銘言:
: 騎腳踏車出門,有個獨木橋要過,只好把腳踏車扛在肩上過河。
: 那腳踏車到底是拿來扛的還是拿來騎的?我還是認為腳踏車是
: 拿來騎的。
: Java 的原意是"write once, run everywhere" 在這想法下,
: 必須要 compile 成 byte code, 然後在 VM 透過一個 engine
: 去跑 byte code。我們寫出來的 Java 程式就可以透過網路送
: 到任何有 Java VM 的機器跑。這樣的用法如果硬是 compile
: 成 machine code 就無法達成。
我本身不懂 Java 所以不是很清楚
請問什麼情況會需要透過網路送 bytecode 到遠端跑?
你的意思應該不是指說比方說我把程式用 MSN 傳給同學讓他跑這種情況吧?
如果是這樣我把 source code 送給他 compile
或者假設有編譯器可以邊另外一個平台的 binary 再寄給他就可行了
: 如果只是用於特定的 case, compile 成 machine code 是可
: 行的。不過 Java 的原意還是"write once, run everywhere"。
: 在 VM 下跑才能享受到 Java 跟其他語言的不同。
跨平台..只要 compiler 支援相同語法,不是只要用同一份 source code
compile 成不同 machine code 對於程式設計師而言,不就可以跨平台了嗎?
而且這樣也不需要 VM 這個 middleware 來消耗效能
還是說有什麼 feature 沒辦法這樣子跨,譬如 thread 或者是低階的 signal 等?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.77.13
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章