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

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

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

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

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

相关推荐
想用offer打牌9 小时前
JDK动态代理为什么基于接口而不基于类?
java·后端·面试
听风吟丶9 小时前
微服务性能压测与容量规划实战:从高并发稳定性到精准资源配置
java·开发语言
愤怒的代码9 小时前
第 4 篇:HashMap 深度解析(JDK1.7 vs JDK1.8、红黑树、扩容逻辑)(5 题)
java·面试
在黎明的反思9 小时前
c++20协程
java·前端·c++20
小满、9 小时前
Redis:数据结构与基础操作(String、List、Hash、Set、Sorted Set)
java·数据结构·redis·分布式锁
alien爱吃蛋挞9 小时前
【JavaEE】Spring Boot日志
java·数据库·spring boot
浮游本尊9 小时前
Java学习第31天 - 高级主题与深度实战
java
BD_Marathon9 小时前
【JavaWeb】IDEA关联Tomcat并使用Tomcat运行JavaWeb项目
java·tomcat·intellij-idea
柒.梧.9 小时前
手写Tomcat的实现代码分享
java·tomcat
y1y1z10 小时前
Spring MVC教程
java·spring·mvc