地特四等
112年
[資訊處理] 計算機概要
第 5 題
使用下列那一種語言或指令集所撰寫的程式,在不同環境或平台,可能不需改寫或極小幅度改寫就能執行?(即 platform independent)
- A 8088 assembly
- B java
- C BIOS
- D CISC
思路引導 VIP
請思考一下:如果我們要寫一段指令來控制機器,通常這些指令必須符合該機器 CPU 的語言(機器碼)。如果我想讓同一份指令在完全不同構造的機器上都能跑,而不必重新修改指令內容,那麼在「我的程式」與「硬體機器」之間,應該要存在一個什麼樣的『角色』或『中介層』來幫忙轉換呢?
🤖
AI 詳解
AI 專屬家教
恭喜你準確地掌握了跨平台開發的核心概念!這題的關鍵在於理解程式碼與硬體之間的層次關係。你選擇 Java 作為正確答案,展現了對「編譯原理」與「虛擬化技術」的紮實理解。
跨平台性的核心:虛擬機器技術
Java 之所以能達成「一次編寫,隨處執行(Write Once, Run Anywhere)」的目標,是因為它在編譯階段並非直接產生針對特定硬體(如 x86 或 ARM)的機器碼,而是生成一種中介格式的位元碼(Bytecode)。當程式執行時,會由安裝在各系統上的 Java 虛擬機器(Java Virtual Machine, JVM) 負責將這些位元碼翻譯成該平台能理解的指令。相較之下,選項中的 8088 組合語言(Assembly)與 BIOS 都是緊密依賴特定硬體規格的底層技術,而 CISC 則是指一種處理器指令集架構,並非程式語言本身。
▼ 還有更多解析內容