京東|什么是字節碼?

京東|什么是字節碼?

能夠被jvm識別的代碼叫字節碼 , 通常存在于以.class文件結尾的文件中 , 是Java跨平臺的基礎 。 究其本質 , 它是軟件模擬的cpu指令系統 。
Java程序從源碼到運行主要有三步:

  • 編譯:將代碼(.java結尾的文件)編譯成JVM可以識別的字節碼文件(.class結尾)
  • 解釋:JVM執行字節碼 , 將字節碼翻譯成機器能識別的機器碼
  • 執行:機器執行機器碼
【京東|什么是字節碼?】那么 , 它能帶來哪些好處呢?
  1. 能最大限度的跨平臺 , 因為所有芯片都運行一套軟件模擬的cpu指令系統 , 這屏蔽了不同cpu的指令差異
  2. 效率相對于直接執行語法分析樹的效率高 , 但是還是落后于cpu硬件指令
  3. 有益于編譯器和虛擬機的開發
總結:字節碼是模擬的cpu指令系統 , 屏蔽了底層硬件的差異 , 同時又兼顧運行效率 , 這也是java實現跨平臺跨語言的基礎 。

    相關經驗推薦