什么是字节码?采用字节码的好处是什么?

Java之所以可以"一次编译,到处运行",一是因为JVM针对各种操作系统、平台都进行了定制,二是因为无论在什么平台,都可以编译生成固定格式的字节码(.class文件)供JVM使用。每个平台的JVM不一样,但是每个平台的JVM都能够识别字节码文件,把字节码文件转化成各自平台能理解的语言,以此达成"一次编译,到处运行"的效果。因此,也可以看出字节码对于Java生态的重要性。

之所以被称之为字节码,是因为字节码文件由十六进制值组成,而JVM以两个十六进制值为一组,即以字节为单位进行读取。在Java中一般是用javac命令编译源代码为字节码文件,一个.java文件从编译到运行的示例如图所示。(java是编译型语言)

采用字节码的好处是什么?

Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以Java程序运行时比较高效,而且,由于字节码并不专对一种特定的机器,因此,Java程序无须重新编译便可在多种不同的计算机上运行。

相关推荐
oak隔壁找我5 分钟前
公司级 Maven Parent POM 设计指南
java·后端
zl97989918 分钟前
SpringBoot-Web开发之内容协商
java·spring boot
bb456b19 分钟前
Snipaste (截图贴图工具) 精准截图 中文免费版
java·工具·贴图
SimonKing44 分钟前
【开发者必备】Spring Boot 2.7.x:WebMvcConfigurer配置手册来了(三)!
java·后端·程序员
2301_8012522244 分钟前
前端框架Vue(Vue 的挂载点与 data 数据对象)
java·前端·javascript·vue.js·前端框架
ArabySide1 小时前
【Spring Boot】深入浅出Spring Boot中的控制反转与依赖注入
java·spring boot·后端
shepherd1111 小时前
破局延时任务(上):为什么选择Spring Boot + DelayQueue来自研分布式延时队列组件?
java·spring boot·后端
技术杠精1 小时前
Docker Swarm之Java 应用部署与平滑更新
java·docker·容器
beyond阿亮1 小时前
nacos支持MCP Server注册与发现
java·python·ai·nacos·mcp
zl9798991 小时前
SpringBoot-数据访问之JDBC
java·spring boot