1-我眼中的jvm

JVM的封装思想

在我的眼中,jvm很类似操作系统,都是在干管理内存,控制线程和并发的工作,只是OS还要管理外设,而jvm没有干这个活,笔者认为它俩之间的核心本质是一样的,就是封装。

 

操作系统是面向硬件的封装

一个例子:对于用户而言,操作系统提供了操作硬件的接口,一个printf(“操作系统”); 就搞定了文字到0,1数据流再到像素点阵的转换,”操作系统”先在内存中被转化成0/1数据流传到外设的缓存中,然后根据数据流找到对应的像素点阵集合精确的显示到屏幕上。

图一:操作系统的封装

 

JVM是面向操作系统的封装

一个典型的例子就是java跨平台的实现原理:在用java开发的时候是不考虑平台的,Linux和Windows都一样,但是对于C++,那么编程就有较大的差异。这个核心原因就java编译的结果是字节码,运行在JVM上的;而C++的编译结果是机器码,是编译的结果与操作系统直接关联;

在我们安装JDK的时候也有对于操作系统的选择,这是因为JVM不是跨平台的,我们可以JVM看成一个桥梁,它的输入是java程序编译生成的统一的字节码,输出是jvm运行的操作系统对应的操作能够运行的机器码,真正实现了“一次编译,到处运行”的目的。

图二:Java与C++编译结果比较

这是典型的对操作系统的封装,通过JVM对操作系统的封装,实现真正的跨平台。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值