011-JVM-跨平台的语言和跨语言的平台

上一篇:010-JVM-Java从编译到执行的流程https://blog.csdn.net/fsjwin/article/details/111404949

我们经常听到这句话:跨平台的语言和跨语言的平台。
他到底是什么意思?

1. java是跨平台的语言

意思是说我们程序员写代码的时候只写一份,javac编译也只编译一次,但是可以在windows上运行,也可以把打好的包放到unitx、linux、macos上运行。

如果你是程序员,你一定不会感到奇怪,但是你有没有问一个问题?为什么可以呢? 记住一句话【生活哪有什么岁月静好,只是有人在为你负重前行】。你知道这个为我们负重前行的人是谁吗?就是jvm(java虚拟机Java Virtual Machine Java虚拟机)
需要声明:

  1. 不同的平台需要部署平台的虚拟机,目的就是对接不同的操作系统。
  2. 不同平台的jvm肯定代码是不一样的,他把差异性放在jvm内部,即写jvm大大哥帮忙我们写好了。给我们暴露的就是个平台没有差异,部署java程序就可以了。
  3. 是不是感觉有大哥真好!哈哈
    看图写话:
    在这里插入图片描述
    Write once, run anywhere

2. jvm是跨语言的平台

jvm是跨语言的平台优势什么意思呢?
给你一个场景你就明白了:

我可以不可使用c写一个程序,然后通过一顿加工,把编译后的文件在jvm上运行?????
到底可以吗吗?
在这里插入图片描述

答案是肯定的。关键点在【一顿捯饬】上,如果你可以飘过jvm就可以在其上运行。

这里把c语言换成其他的语言就可以了。并且有大哥已经帮我们捯饬好了。我们使用他们提供的编译器编译相应的语言,然后骗过jvm就可以运行了。
那么为什么要这样呢?因为jvm实在在普及了,又开发者原因为其适配、按其规范来开发编译器。
通过上面的说明,应该说明白了为什么jvm是跨语言的平台 把。那么目前有哪些语言可以在jvm上运行呢?
在这里插入图片描述

3. 总结

以上两点有么有发现都和jvm有关系。基于此才是jvm生命力无限的源泉。有必要对jvm深入了解和研究!

下一篇:012-JVM-jvm规范出处、规范和实现https://blog.csdn.net/fsjwin/article/details/111406566

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值