冲击年薪50万 | 校招后端开发面试真题每日一题

为什么Java代码可以实现一次编写、到处运行?

参考答案:

JVM(Java虚拟机)是Java跨平台的关键。

在程序运行前,Java源代码(.java)需要经过编译器编译成字节码(.class)。在程序运行时,JVM负责将字节码翻译成特定平台下的机器码并运行,也就是说,只要在不同的平台上安装对应的JVM,就可以运行字节码文件。

同一份Java源代码在不同的平台上运行,它不需要做任何的改变,并且只需要编译一次。而编译好的字节码,是通过JVM这个中间的“桥梁”实现跨平台的,JVM是与平台相关的软件,它能将统一的字节码翻译成该平台的机器码。

注意事项

1.  编译的结果是生成字节码、不是机器码,字节码不能直接运行,必须通过JVM翻译成机器码才能运行;

2.  跨平台的是Java程序、而不是JVM,JVM是用C/C++开发的软件,不同平台下需要安装不同版本的JVM。

我是涛哥,曾任某互联网大厂技术总监,十年面试过500人,培养新人超百人。专注技术培训/求职陪跑/简历辅导/面试辅导/求职咨询等,24年目标帮助1000人求职和成长。

#校招过来人的经验分享##我的求职思考##面试#
全部评论
点赞 回复 分享
发布于 07-18 22:40 山西

相关推荐

08-13 11:45
已编辑
清华大学 C++
滴滴面试,8.7 下午,连续三轮一面:实习C++    - 指针和引用    - 关键字 static、volatile    - 宏定义和内联函数比较    - 多态的实现方式    - 内存管理如何实现线程安全的队列    - 底层用数组或链表,加锁 或 CAS(乐观锁)哈希表原理,设计思路    - 如何保证线程安全用过哪些设计模式    - 工厂模式        - 实现、使用场景算法题    - 旋转数组查找    - 奇偶分离,需要保证相对顺序二面:实习单核 CPU 上运行多线程程序需要加锁吗进程、线程、协程对比Linux 网络 IO 模型Redis    - 数据结构    - 高效的原因    - 持久化的方式MySQL    - 主键索引和唯一索引    - 事务隔离级别        - 是否解决了不可重复读和幻读        - 什么情况下会幻读算法题    - 1-100 个数组成的数组,现在随机删除了一个数,请找出这个数        - 复杂度        - 有序情况怎么做,复杂度三面:微信实习    - 推荐链路        - 做哪方面开发    - 可用性和稳定性        - 做了哪些保障,尽可能讲        - 兜底策略        - 服务降级    - 存储用什么组件百度和腾讯实习对比实现一个订单匹配系统,怎么做算法题:实现 geohash 编码    - 有什么作用    - 位置编码和检索读过哪些中间件源码    - 讲讲 Redis 中好的设计 #凉面# #秋招提前批,你开始投了吗# #如何一边实习一边秋招#
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务