java用編譯器編譯成字節(jié)碼,字節(jié)碼用解釋器運行,同一字節(jié)碼可以在不同的操作系統(tǒng)下被不同的解釋器運行,從而實現(xiàn)Java的跨平臺性也就可移植性.因為字節(jié)碼,即class文件是按規(guī)定標準排列的二進制文件,所以不同操作系統(tǒng)的java編譯器都會編譯出一致的字節(jié)碼文件
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設計制作、做網(wǎng)站與策劃設計,定結網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設10多年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:定結等地區(qū)。定結做網(wǎng)站價格咨詢:13518219792
因為java代碼是運行在JVM上的,不同的平臺有不同的JVM,如Windows和Mac上的運行同一款游戲,他們的實現(xiàn)方式肯定不一樣,但你都能讀取游戲的存檔文件。你不需要知道JVM在不同平臺的實現(xiàn)方式,但他們解析java的class文件是一樣的邏輯,就是這樣java實現(xiàn)跨平臺的。
因為java有一個JVM(Java Virtual Machine)java虛擬機,源程序*.java被編譯成字節(jié)碼文件,字節(jié)碼是與平臺無關的,是面向jvm編寫的,而jvm又有自己的一套指令系統(tǒng),在不同的平臺上jvm的指令也是不一樣的,也就是說不同操作平臺有自己的jvm但是jvm向上的字節(jié)碼接口是與平臺無關的,jvm接口向下是與硬件有關的,jvm是個中間件,這樣只要有字節(jié)碼和jvm,不管在任何平臺都可以運行java程序。全靠的是jvm虛擬機
希望對你能有所幫助。
java先編譯成字節(jié)碼(中間碼),為什么需要這個中間碼呢?
如果java直接編譯成系統(tǒng)能識的二進制碼,可能一個標識在windows下是1100,而linux下是1001,這樣java在windows下編譯后無法在linux運行。
所以java先編譯成字節(jié)碼(中間碼),由JVM(java虛擬機來解釋執(zhí)行),而這個JVM對于主流的操作系統(tǒng)都有相應的版本,目的就是將 統(tǒng)一的中間碼 編譯成對應操作系統(tǒng)識的二進制碼,然后執(zhí)行。
所以不論你在什么系統(tǒng)中編譯的java,得到的都是統(tǒng)一的字節(jié)碼(中間碼)
在windows中需要有windows版本的JVM來執(zhí)行,要是到了linux下,只要下載linux版本的JVM來執(zhí)行就可以了
這就是java的跨平臺,可移植性
網(wǎng)頁名稱:java代碼可移植 java代碼移植到安卓
網(wǎng)址分享:http://jinyejixie.com/article44/dosgghe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、微信公眾號、手機網(wǎng)站建設、網(wǎng)站導航、企業(yè)網(wǎng)站制作、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)