JAVA跨平台原理

1.实现跨平台机制(JVM  java虚拟机)
Java实现跨平台无非就是JVM起的作用,可以这样想,如果是C/C++的编译方式,一旦换了一个平台,那么我们就需要重新编译一份对应的可执行代码,但是Java则不同,我们编译好了一份Java字节码,换到不同的平台上时,并不需要重新编译,前提是这些平台上都装了相应平台的JVM,JVM不是跨平台的,但是这是Sun公司的工作:为不同平台提供对应的JVM。所以,实现跨平台的根本机制还是JVM


2.Java解释器执行过程
执行过程分为三步:代码的装入、代码的检验和代码的执行
类加载器(ClassLoader)负责加载装入运行一个程序所需要的所有代码,这也包括程序代码中的类所继承的类和被其调用的类。当类装载器装入一个类时,该类被放 在自己的名字空间中。除了通过符号引用自己名字空间以外的类,类之间没有其他办法可以影响其他类。在本台计算机上的所有类都在同一地址空间内,而所有从外 部引进的类,都有一个自己独立的名字空间。这使得本地类通过共享相同的名字空间获得较高的运行效率,同时又保证它们与从外部引进的类不会相互影响。当装入 了运行程序需要的所有类后,解释器便可确定整个可执行程序的内存布局。解释器为符号引用同特定的地址空间建立对应关系及查询表。通过在这一阶段确定代码的 内存布局,Java很好地解决了由超类改变而使子类崩溃的问题,同时也防止了代码对地址的非法访问。
随后,被装入的代码由字节码检验器进行检查,检验器可以检查出操作数栈溢出,非法数据类型等多种错误。通过校验后,代码就开始执行了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值