大家都说JAVA是跨平台的,其实我不是很理解,像c在Windows上用VS编译器编译可以运行,在Linux上用gcc编译可以运行,那么我觉得c也是跨平台的,但是编译后的可执行文件是无法在不同平台上执行,这个我能理解因为平台内核不一样,可执行文件坑定是不一样的,我想问JAVA的可执行文件其实是一样的是不是无论是在Linux上还是在Windows上?关键在于jdk这个东西是不是,那么我想问jdk做了什么工作在这个过程中?
7条回答 默认 最新
- chinarealone 2017-11-03 09:33关注
平台不单纯只操作系统,包括硬件和OS,包括指令集的不同,内存管理的不同等等。
c、c++,可以认为具有跨平台“开发”的能力,但是不具备“一次编译,到处运行”的跨平台“应用”的能力。
java的跨平台不是魔法,它编译生成的是平台不相关的字节码,例如它说要有光,那么jvm(虚拟机)在windows平台点亮led,在linux平台点亮蜡烛,
在苹果平台点亮火把。
jvm的编程,一定会深入具体的平台特性,他是跨平台的关键。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥17 pro*C预编译“闪回查询”报错SCN不能识别
- ¥15 微信会员卡接入微信支付商户号收款
- ¥15 如何获取烟草零售终端数据
- ¥15 数学建模招标中位数问题
- ¥15 phython路径名过长报错 不知道什么问题
- ¥15 深度学习中模型转换该怎么实现
- ¥15 HLs设计手写数字识别程序编译通不过
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
- ¥15 TYPCE母转母,插入认方向