首先我們要理解什么是跨平臺,所謂的跨平臺就是JAVA寫的一份代碼可以在任意的操作系統(tǒng)平臺上運行。
為什么跨平臺會成為一個問題呢?因為每一個操作系統(tǒng)平臺支持不同的指令集我們所寫的代碼經(jīng)過編譯之后只能適用于一個平臺,換一個平臺就不支持了。而JAVA完美的解決了這個問題,JAVA是如何做到這一點的呢?在上圖中我們可以看到JAVA代碼執(zhí)行的流程。
JAVA源代碼->JAVA字節(jié)碼->JVM解釋執(zhí)行
我們寫的JAVA源代碼會被編譯為字節(jié)碼,然后被JVM虛擬機解釋執(zhí)行,我們可以看到JVM虛擬機在跨平臺的過程中發(fā)揮了重要的作用,就是由它解釋字節(jié)碼并執(zhí)行的,對應于每一個平臺都有一個JVM虛擬機,而字節(jié)碼只有一份,windows的JVM虛擬機可以將字節(jié)碼解釋為能在windows平臺上執(zhí)行的指令并執(zhí)行,Linux的JVM虛擬機可以將字節(jié)碼解釋為能在Linux平臺上執(zhí)行的指令并執(zhí)行,他們執(zhí)行的字節(jié)碼都是同一份。這樣就實現(xiàn)了跨平臺。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。